136 lines
6.8 KiB
Plaintext
136 lines
6.8 KiB
Plaintext
maintenance.auto::
|
|
This boolean config option controls whether some commands run
|
|
`git maintenance run --auto` after doing their normal work. Defaults
|
|
to true.
|
|
|
|
maintenance.autoDetach::
|
|
Many Git commands trigger automatic maintenance after they have
|
|
written data into the repository. This boolean config option
|
|
controls whether this automatic maintenance shall happen in the
|
|
foreground or whether the maintenance process shall detach and
|
|
continue to run in the background.
|
|
+
|
|
If unset, the value of `gc.autoDetach` is used as a fallback. Defaults
|
|
to true if both are unset, meaning that the maintenance process will
|
|
detach.
|
|
|
|
maintenance.strategy::
|
|
This string config option provides a way to specify one of a few
|
|
recommended strategies for repository maintenance. This affects
|
|
which tasks are run during `git maintenance run`, provided no
|
|
`--task=<task>` arguments are provided. This setting impacts manual
|
|
maintenance, auto-maintenance as well as scheduled maintenance. The
|
|
tasks that run may be different depending on the maintenance type.
|
|
+
|
|
The maintenance strategy can be further tweaked by setting
|
|
`maintenance.<task>.enabled` and `maintenance.<task>.schedule`. If set, these
|
|
values are used instead of the defaults provided by `maintenance.strategy`.
|
|
+
|
|
The possible strategies are:
|
|
+
|
|
* `none`: This strategy implies no tasks are run at all. This is the default
|
|
strategy for scheduled maintenance.
|
|
* `gc`: This strategy runs the `gc` task.
|
|
* `geometric`: This strategy performs geometric repacking of packfiles and
|
|
keeps auxiliary data structures up-to-date. The strategy expires data in the
|
|
reflog and removes worktrees that cannot be located anymore. When the
|
|
geometric repacking strategy would decide to do an all-into-one repack, then
|
|
the strategy generates a cruft pack for all unreachable objects. Objects that
|
|
are already part of a cruft pack will be expired.
|
|
+
|
|
This repacking strategy is a full replacement for the `gc` strategy and is
|
|
recommended for large repositories. This is the default strategy for manual
|
|
maintenance.
|
|
* `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, the
|
|
`loose-objects` and `incremental-repack` tasks daily, and the `pack-refs`
|
|
task weekly. Manual repository maintenance uses the `gc` task.
|
|
|
|
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.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.geometric-repack.auto::
|
|
This integer config option controls how often the `geometric-repack`
|
|
task should be run as part of `git maintenance run --auto`. If zero,
|
|
then the `geometric-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 either when
|
|
there are packfiles that need to be merged together to retain the
|
|
geometric progression, or when there are at least this many loose
|
|
objects that would be written into a new packfile. The default value is
|
|
100.
|
|
|
|
maintenance.geometric-repack.splitFactor::
|
|
This integer config option controls the factor used for the geometric
|
|
sequence. See the `--geometric=` option in linkgit:git-repack[1] for
|
|
more details. Defaults to `2`.
|
|
|
|
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.
|