"Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > > Some commands run 'git maintenance run --auto --[no-]quiet' after doing > their normal work, as a way to keep repositories clean as they are used. > Currently, users who do not want this maintenance to occur would set the > 'gc.auto' config option to 0 to avoid the 'gc' task from running. > However, this does not stop the extra process invocation. OK, that is because the configuration is checked on the other side, and the new check is implemented on this side before we decide to spawn the maintenance task. It sounds like a change worth having without even waiting for the "git maintenance" to materialize ;-). > @@ -1868,8 +1869,13 @@ int run_processes_parallel_tr2(int n, get_next_task_fn get_next_task, > > int run_auto_maintenance(int quiet) > { > + int enabled; > struct child_process maint = CHILD_PROCESS_INIT; > > + if (!git_config_get_bool("maintenance.auto", &enabled) && > + !enabled) > + return 0; So in a repository without this configuration, get_bool would fail and we do not short-circuit. Only if the value get_bool sees is false, we return without running the command. Makes sense.