]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/config/maintenance.txt
The 20th batch
[thirdparty/git.git] / Documentation / config / maintenance.txt
1 maintenance.auto::
2 This boolean config option controls whether some commands run
3 `git maintenance run --auto` after doing their normal work. Defaults
4 to true.
5
6 maintenance.autoDetach::
7 Many Git commands trigger automatic maintenance after they have
8 written data into the repository. This boolean config option
9 controls whether this automatic maintenance shall happen in the
10 foreground or whether the maintenance process shall detach and
11 continue to run in the background.
12 +
13 If unset, the value of `gc.autoDetach` is used as a fallback. Defaults
14 to true if both are unset, meaning that the maintenance process will
15 detach.
16
17 maintenance.strategy::
18 This string config option provides a way to specify one of a few
19 recommended schedules for background maintenance. This only affects
20 which tasks are run during `git maintenance run --schedule=X`
21 commands, provided no `--task=<task>` arguments are provided.
22 Further, if a `maintenance.<task>.schedule` config value is set,
23 then that value is used instead of the one provided by
24 `maintenance.strategy`. The possible strategy strings are:
25 +
26 * `none`: This default setting implies no tasks are run at any schedule.
27 * `incremental`: This setting optimizes for performing small maintenance
28 activities that do not delete any data. This does not schedule the `gc`
29 task, but runs the `prefetch` and `commit-graph` tasks hourly, the
30 `loose-objects` and `incremental-repack` tasks daily, and the `pack-refs`
31 task weekly.
32
33 maintenance.<task>.enabled::
34 This boolean config option controls whether the maintenance task
35 with name `<task>` is run when no `--task` option is specified to
36 `git maintenance run`. These config values are ignored if a
37 `--task` option exists. By default, only `maintenance.gc.enabled`
38 is true.
39
40 maintenance.<task>.schedule::
41 This config option controls whether or not the given `<task>` runs
42 during a `git maintenance run --schedule=<frequency>` command. The
43 value must be one of "hourly", "daily", or "weekly".
44
45 maintenance.commit-graph.auto::
46 This integer config option controls how often the `commit-graph` task
47 should be run as part of `git maintenance run --auto`. If zero, then
48 the `commit-graph` task will not run with the `--auto` option. A
49 negative value will force the task to run every time. Otherwise, a
50 positive value implies the command should run when the number of
51 reachable commits that are not in the commit-graph file is at least
52 the value of `maintenance.commit-graph.auto`. The default value is
53 100.
54
55 maintenance.loose-objects.auto::
56 This integer config option controls how often the `loose-objects` task
57 should be run as part of `git maintenance run --auto`. If zero, then
58 the `loose-objects` task will not run with the `--auto` option. A
59 negative value will force the task to run every time. Otherwise, a
60 positive value implies the command should run when the number of
61 loose objects is at least the value of `maintenance.loose-objects.auto`.
62 The default value is 100.
63
64 maintenance.incremental-repack.auto::
65 This integer config option controls how often the `incremental-repack`
66 task should be run as part of `git maintenance run --auto`. If zero,
67 then the `incremental-repack` task will not run with the `--auto`
68 option. A negative value will force the task to run every time.
69 Otherwise, a positive value implies the command should run when the
70 number of pack-files not in the multi-pack-index is at least the value
71 of `maintenance.incremental-repack.auto`. The default value is 10.