"Derrick Stolee via GitGitGadget" <[email protected]> writes:
> diff --git a/Documentation/config/feature.txt
> b/Documentation/config/feature.txt
> new file mode 100644
> index 0000000000..f74314ae90
> --- /dev/null
> +++ b/Documentation/config/feature.txt
> @@ -0,0 +1,15 @@
> +feature.*::
> +...
> +* `gc.writeCommitGraph=true` enables writing the commit-graph file during
> +garbage collection.
> \ No newline at end of file
No newline at end of file
> diff --git a/Documentation/config/gc.txt b/Documentation/config/gc.txt
> index 02b92b18b5..31a5fc4f75 100644
> --- a/Documentation/config/gc.txt
> +++ b/Documentation/config/gc.txt
> @@ -63,8 +63,8 @@ gc.writeCommitGraph::
> If true, then gc will rewrite the commit-graph file when
> linkgit:git-gc[1] is run. When using `git gc --auto`
> the commit-graph will be updated if housekeeping is
> - required. Default is false. See linkgit:git-commit-graph[1]
> - for details.
> + required. Default is false, unless `feature.manyCommits`
> + is enabled. See linkgit:git-commit-graph[1] for details.
>
> gc.logExpiry::
> If the file gc.log exists, then `git gc --auto` will print
> diff --git a/repo-settings.c b/repo-settings.c
> index 309577f6bc..fc05f4fbc4 100644
> --- a/repo-settings.c
> +++ b/repo-settings.c
> @@ -2,6 +2,8 @@
> #include "config.h"
> #include "repository.h"
>
> +#define UPDATE_DEFAULT(s,v) do { if (s == -1) { s = v; } } while(0)
A few points:
1. give 's' and 'v' a bit better name, perhaps 'slot' and 'value'?
2. "do { if ((s) == -1) { (s) = (v); } } while(0)"
3. When we learn to set default values for variables that are not
boolean in the future, we will regret that we did not name it
UPDATE_DEFAULT_BOOL(slot, value).