[fossil-users] README Maturity Model & CI/automated testing
Someone wrote up a document laying out opinions about how “mature” a given software project’s top-level README file is: https://github.com/LappleApple/feedmereadmes/blob/master/README-maturity-model.md It’s good food for thought, except insofar as it confuses “GitHub” with “the way software development is done in 2017.” Badges? We don’t need no steenkin’ badges! Not in Fossil’s Markdown processor, at any rate. That got me to thinking about how I would integrate a CI/automated testing system into Fossil. I’m leaning toward “fossil wiki export $ci_page | sed -e 's/noise/morenoise/' | fossil commit $ci_page”. Any more ideas? ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
[fossil-users] Patch: tech_overview.wiki
Hi, There are a few broken links in the Technical Overview Wiki page: Index: www/tech_overview.wiki == --- www/tech_overview.wiki +++ www/tech_overview.wiki @@ -53,11 +53,11 @@ checkout for a project and contains state information that is unique to that working checkout. Fossil does not always use all three database files. The web interface, for example, typically only uses the repository database. And the -[/help/all | fossil setting] command only opens the configuration database +[/help/all | fossil settings] command only opens the configuration database when the --global option is used. But other commands use all three databases at once. For example, the [/help/status | fossil status] command will first locate the checkout database, then use the checkout database to find the repository database, then open the configuration database. Whenever multiple databases are used at the same time, @@ -70,20 +70,20 @@ Configuration Database"~/.fossil" -Global [/help/setting |settings] +Global [/help/settings |settings] List of active repositories used by the [/help/all | all] command Repository Database"project.fossil" [./fileformat.wiki | Global state of the project] encoded using delta-compression -Local [/help/setting|settings] +Local [/help/settings|settings] Web interface display preferences User credentials and permissions Metadata about the global state to facilitate rapid queries @@ -110,11 +110,11 @@ 2.1 The Configuration Database The configuration database holds cross-repository preferences and a list of all repositories for a single user. -The [/help/setting | fossil setting] command can be used to specify various +The [/help/settings | fossil settings] command can be used to specify various operating parameters and preferences for Fossil repositories. Settings can apply to a single repository, or they can apply globally to all repositories for a user. If both a global and a repository value exists for a setting, then the repository-specific value takes precedence. All of the settings have reasonable defaults, and so many users will never need to change them. @@ -237,11 +237,11 @@ * The project logo image * Fields of tickets that are considered "significant" and which are therefore collected from artifacts and made available for display * Templates for screens to view, edit, and create tickets * Ticket report formats and display preferences - * Local values for [/help/setting | settings] that override the + * Local values for [/help/settings | settings] that override the global values defined in the per-user configuration database. Though the display and processing preferences do not move between repository instances using [/help/sync | fossil sync], this information can be shared between repositories using the BR, Johan Index: www/tech_overview.wiki == --- www/tech_overview.wiki +++ www/tech_overview.wiki @@ -53,11 +53,11 @@ checkout for a project and contains state information that is unique to that working checkout. Fossil does not always use all three database files. The web interface, for example, typically only uses the repository database. And the -[/help/all | fossil setting] command only opens the configuration database +[/help/all | fossil settings] command only opens the configuration database when the --global option is used. But other commands use all three databases at once. For example, the [/help/status | fossil status] command will first locate the checkout database, then use the checkout database to find the repository database, then open the configuration database. Whenever multiple databases are used at the same time, @@ -70,20 +70,20 @@ Configuration Database"~/.fossil" -Global [/help/setting |settings] +Global [/help/settings |settings] List of active repositories used by the [/help/all | all] command Repository Database"project.fossil" [./fileformat.wiki | Global state of the project] encoded using delta-compression -Local [/help/setting|settings] +Local [/help/settings|settings] Web interface display preferences User credentials and permissions Metadata about the global state to facilitate rapid queries @@ -110,11 +110,11 @@ 2.1 The Configuration Database The configuration database holds cross-repository preferences and a list of all repositories for a single user. -The [/help/setting | fossil setting] command can be used to specify various +The [/help/settings | fossil settings] command can be used to specify various operating parameters and preferences for Fossil repositories. Settings can apply to a single repository, or they can apply globally to all repositories for a user. If both a global and a repository value exists for a setting, then the repository-specific value takes precedenc
[fossil-users] Possible Markdown memleak
Hi, I think the two blobs used for markdown input and output (rendered HTML) aren't free()'d properly. This patch only applies to test_markdown_render(), but the same behaviour may occur at other places where markdown_to_html() is called. BR, Johan Index: src/wiki.c == --- src/wiki.c +++ src/wiki.c @@ -1431,6 +1431,8 @@ if( g.argc!=3 ) usage("FILE"); blob_zero(&out); blob_read_from_file(&in, g.argv[2]); markdown_to_html(&in, 0, &out); blob_write_to_file(&out, "-"); + fossil_free(in.aData); + fossil_free(out.aData); } Index: src/wiki.c == --- src/wiki.c +++ src/wiki.c @@ -1431,6 +1431,8 @@ if( g.argc!=3 ) usage("FILE"); blob_zero(&out); blob_read_from_file(&in, g.argv[2]); markdown_to_html(&in, 0, &out); blob_write_to_file(&out, "-"); + fossil_free(in.aData); + fossil_free(out.aData); } ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] [fossil-dev] Possible Markdown memleak
On 10/27/17, Johan Kuuse wrote: > Hi, > > I think the two blobs used for markdown input and output (rendered > HTML) aren't free()'d properly. I'm sure your are correct about the leaks, though two points: (1) The proper way to fix them is to call blob_reset() on the Blob object, not by trying to mess with the internal implementation details of the Blob object. (2) Memory leaks do not usually matter in Fossil, since each command runs to completion and the process dies, leaving the OS to clean up any memory. Only memory leaks inside of a loop make a difference. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] [fossil-dev] Possible Markdown memleak
On 10/27/17, Richard Hipp wrote: > > (2) Memory leaks do not usually matter in Fossil, since each command > runs to completion and the process dies, leaving the OS to clean up > any memory. Only memory leaks inside of a loop make a difference. Another way to think of this: The memory will be garbage collected by the exit() function. :-) -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] [fossil-dev] Possible Markdown memleak
On Fri, Oct 27, 2017 at 5:19 PM, Richard Hipp wrote: > On 10/27/17, Richard Hipp wrote: >> >> (2) Memory leaks do not usually matter in Fossil, since each command >> runs to completion and the process dies, leaving the OS to clean up >> any memory. Only memory leaks inside of a loop make a difference. Thanks for the clarification. I guess the memleak could be an issue when serving Markdown documents repeatedly, as from within the "ui" or "server" web server loop, as in doc_page(): Blob tail = BLOB_INITIALIZER; markdown_to_html(&filebody, &title, &tail); I cannot find any call to blob_reset() for neither filebody nor tail. Obviously, this is not a big issue unless the Fossil web server handles heavy traffic of big Markdown documents - which isn't its main purpose anyway. :-) Best Regards, Johan > > Another way to think of this: The memory will be garbage collected by > the exit() function. :-) > > -- > D. Richard Hipp > d...@sqlite.org > ___ > fossil-users mailing list > fossil-users@lists.fossil-scm.org > http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] [fossil-dev] Possible Markdown memleak
On 10/27/17, Johan Kuuse wrote: >> > Obviously, this is not a big issue unless the Fossil web server > handles heavy traffic of big Markdown documents - which isn't its main > purpose anyway. :-) Even then, it isn't an issue, because the Fossil web server creates a new process to handle each request, and so the exit() function still operates as a (very fast and efficient) garbage collector following each request. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users