path: root/Documentation
diff options
authorDerrick Stolee <>2020-10-15 17:22:03 (GMT)
committerJunio C Hamano <>2020-10-16 15:36:42 (GMT)
commit61f7a383d3b9a7306f1fd44a8dfa070deacc0752 (patch)
treea3a32480d13bc5a104b0067039b45f46806d61a1 /Documentation
parenta4cb1a2339c1aa4ba71ebc6d2b07d537e1071124 (diff)
maintenance: use 'incremental' strategy by default
The 'git maintenance (register|start)' subcommands add the current repository to the global Git config so maintenance will operate on that repository. It does not specify what maintenance should occur or how often. To make it simple for users to start background maintenance with a recommended schedlue, update the 'maintenance.strategy' config option in both the 'register' and 'start' subcommands. This allows users to customize beyond the defaults using individual 'maintenance.<task>.schedule' options, but also the user can opt-out of this strategy using 'maintenance.strategy=none'. Helped-by: Martin Ă…gren <> Signed-off-by: Derrick Stolee <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation')
1 files changed, 17 insertions, 0 deletions
diff --git a/Documentation/git-maintenance.txt b/Documentation/git-maintenance.txt
index 7628a6d..b5944b4 100644
--- a/Documentation/git-maintenance.txt
+++ b/Documentation/git-maintenance.txt
@@ -37,6 +37,23 @@ register::
`maintenance.<task>.schedule`. The tasks that are enabled are safe
for running in the background without disrupting foreground
+The `register` subcomand will also set the `maintenance.strategy` config
+value to `incremental`, if this value is not previously set. The
+`incremental` strategy uses the following schedule for each maintenance
+* `gc`: disabled.
+* `commit-graph`: hourly.
+* `prefetch`: hourly.
+* `loose-objects`: daily.
+* `incremental-repack`: daily.
+`git maintenance register` will also disable foreground maintenance by
+setting ` = false` in the current repository. This config
+setting will remain after a `git maintenance unregister` command.
Run one or more maintenance tasks. If one or more `--task` options