Home Explore Blog CI



git

2nd chunk of `Documentation/config/maintenance.adoc`
d1ede84d340ab45d58f1c431ac2e8f0ec8790180580214e10000000100000e1d
 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.loose-objects.batchSize::
	This integer config option controls the maximum number of loose objects
	written into a packfile during the `loose-objects` task. The default is
	fifty thousand. Use value `0` to indicate no limit.

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.

maintenance.reflog-expire.auto::
	This integer config option controls how often the `reflog-expire` task
	should be run as part of `git maintenance run --auto`. If zero, then
	the `reflog-expire` 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
	expired reflog entries in the "HEAD" reflog is at least the value of
	`maintenance.loose-objects.auto`. The default value is 100.

maintenance.rerere-gc.auto::
	This integer config option controls how often the `rerere-gc` task
	should be run as part of `git maintenance run --auto`. If zero, then
	the `rerere-gc` task will not run with the `--auto` option. A negative
	value will force the task to run every time. Otherwise, any positive
	value implies the command will run when the "rr-cache" directory exists
	and has at least one entry, regardless of whether it is stale or not.
	This heuristic may be refined in the future. The default value is 1.

maintenance.worktree-prune.auto::
	This integer config option controls how often the `worktree-prune` task
	should be run as part of `git maintenance run --auto`. If zero, then
	the `worktree-prune` 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
	prunable worktrees exceeds the value. The default value is 1.

Title: Git Maintenance Task Configuration Options
Summary
This section describes various configuration options for controlling the execution of specific Git maintenance tasks, such as commit-graph, loose-objects, incremental-repack, and reflog-expire, including their automatic run frequencies and other task-specific settings.