summaryrefslogtreecommitdiff
path: root/Documentation/config/maintenance.txt
blob: a5ead09e4bc2d1ca8834b332322315bcc72f352c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
maintenance.auto::
	This boolean config option controls whether some commands run
	`git maintenance run --auto` after doing their normal work. Defaults
	to true.

maintenance.strategy::
	This string config option provides a way to specify one of a few
	recommended schedules for background maintenance. This only affects
	which tasks are run during `git maintenance run --schedule=X`
	commands, provided no `--task=<task>` arguments are provided.
	Further, if a `maintenance.<task>.schedule` config value is set,
	then that value is used instead of the one provided by
	`maintenance.strategy`. The possible strategy strings are:
+
* `none`: This default setting implies no task are run at any schedule.
* `incremental`: This setting optimizes for performing small maintenance
  activities that do not delete any data. This does not schedule the `gc`
  task, but runs the `prefetch` and `commit-graph` tasks hourly and the
  `loose-objects` and `incremental-repack` tasks daily.

maintenance.<task>.enabled::
	This boolean config option controls whether the maintenance task
	with name `<task>` is run when no `--task` option is specified to
	`git maintenance run`. These config values are ignored if a
	`--task` option exists. By default, only `maintenance.gc.enabled`
	is true.

maintenance.<task>.schedule::
	This config option controls whether or not the given `<task>` runs
	during a `git maintenance run --schedule=<frequency>` command. The
	value must be one of "hourly", "daily", or "weekly".

maintenance.commit-graph.auto::
	This integer config option controls how often the `commit-graph` task
	should be run as part of `git maintenance run --auto`. If zero, then
	the `commit-graph` task will not run with the `--auto` option. A
	negative value will force the task to run every time. Otherwise, a
	positive value implies the command should run when the number of
	reachable commits that are not in the commit-graph file is at least
	the value of `maintenance.commit-graph.auto`. The default value is
	100.

maintenance.loose-objects.auto::
	This integer config option controls how often the `loose-objects` task
	should be run as part of `git maintenance run --auto`. If zero, then
	the `loose-objects` task will not run with the `--auto` option. A
	negative value will force the task to run every time. Otherwise, a
	positive value implies the command should run when the number of
	loose objects is at least the value of `maintenance.loose-objects.auto`.
	The default value is 100.

maintenance.incremental-repack.auto::
	This integer config option controls how often the `incremental-repack`
	task should be run as part of `git maintenance run --auto`. If zero,
	then the `incremental-repack` task will not run with the `--auto`
	option. A negative value will force the task to run every time.
	Otherwise, a positive value implies the command should run when the
	number of pack-files not in the multi-pack-index is at least the value
	of `maintenance.incremental-repack.auto`. The default value is 10.