]> git.ipfire.org Git - thirdparty/git.git/commit - builtin/rebase.c
maintenance: replace run_auto_gc()
authorDerrick Stolee <dstolee@microsoft.com>
Thu, 17 Sep 2020 18:11:44 +0000 (18:11 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Sep 2020 18:30:05 +0000 (11:30 -0700)
commita95ce124305adcc4980241b8877e06db1d6ed411
treedaf8ff6ae6cf3e4674e101b219ca9da41f6a7b43
parent3ddaad0e06035a752c9010dcd5094b37262080fb
maintenance: replace run_auto_gc()

The run_auto_gc() method is used in several places to trigger a check
for repo maintenance after some Git commands, such as 'git commit' or
'git fetch'.

To allow for extra customization of this maintenance activity, replace
the 'git gc --auto [--quiet]' call with one to 'git maintenance run
--auto [--quiet]'. As we extend the maintenance builtin with other
steps, users will be able to select different maintenance activities.

Rename run_auto_gc() to run_auto_maintenance() to be clearer what is
happening on this call, and to expose all callers in the current diff.
Rewrite the method to use a struct child_process to simplify the calls
slightly.

Since 'git fetch' already allows disabling the 'git gc --auto'
subprocess, add an equivalent option with a different name to be more
descriptive of the new behavior: '--[no-]maintenance'. Update the
documentation to include these options at the same time.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/fetch-options.txt
Documentation/git-clone.txt
builtin/am.c
builtin/commit.c
builtin/fetch.c
builtin/merge.c
builtin/rebase.c
run-command.c
run-command.h
t/t5510-fetch.sh