-
Notifications
You must be signed in to change notification settings - Fork 145
Maintenance I: Command, gc and commit-graph tasks #695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
00a0d63
52eb937
3cbdeea
1d2f273
8204ebb
91b8555
1a0a3ee
713207b
d424cda
7a2a4e1
20a74ab
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
maintenance.<task>.enabled:: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Jonathan Tan wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Derrick Stolee wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Jonathan Tan wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Junio C Hamano wrote (reply to this):
|
||
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.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. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
git-maintenance(1) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Martin Ågren wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Derrick Stolee wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Martin Ågren wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Jonathan Tan wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Derrick Stolee wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Jonathan Tan wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Jonathan Tan wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Junio C Hamano wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Derrick Stolee wrote (reply to this):
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On the Git mailing list, Jonathan Tan wrote (reply to this):
|
||
================== | ||
|
||
NAME | ||
---- | ||
git-maintenance - Run tasks to optimize Git repository data | ||
|
||
|
||
SYNOPSIS | ||
-------- | ||
[verse] | ||
'git maintenance' run [<options>] | ||
|
||
|
||
DESCRIPTION | ||
----------- | ||
Run tasks to optimize Git repository data, speeding up other Git commands | ||
and reducing storage requirements for the repository. | ||
|
||
Git commands that add repository data, such as `git add` or `git fetch`, | ||
are optimized for a responsive user experience. These commands do not take | ||
time to optimize the Git data, since such optimizations scale with the full | ||
size of the repository while these user commands each perform a relatively | ||
small action. | ||
|
||
The `git maintenance` command provides flexibility for how to optimize the | ||
Git repository. | ||
|
||
SUBCOMMANDS | ||
----------- | ||
|
||
run:: | ||
Run one or more maintenance tasks. If one or more `--task` options | ||
are specified, then those tasks are run in that order. Otherwise, | ||
the tasks are determined by which `maintenance.<task>.enabled` | ||
config options are true. By default, only `maintenance.gc.enabled` | ||
is true. | ||
|
||
TASKS | ||
----- | ||
|
||
commit-graph:: | ||
The `commit-graph` job updates the `commit-graph` files incrementally, | ||
then verifies that the written data is correct. The incremental | ||
write is safe to run alongside concurrent Git processes since it | ||
will not expire `.graph` files that were in the previous | ||
`commit-graph-chain` file. They will be deleted by a later run based | ||
on the expiration delay. | ||
|
||
gc:: | ||
Clean up unnecessary files and optimize the local repository. "GC" | ||
stands for "garbage collection," but this task performs many | ||
smaller tasks. This task can be expensive for large repositories, | ||
as it repacks all Git objects into a single pack-file. It can also | ||
be disruptive in some situations, as it deletes stale data. See | ||
linkgit:git-gc[1] for more details on garbage collection in Git. | ||
|
||
OPTIONS | ||
------- | ||
--auto:: | ||
When combined with the `run` subcommand, run maintenance tasks | ||
only if certain thresholds are met. For example, the `gc` task | ||
runs when the number of loose objects exceeds the number stored | ||
in the `gc.auto` config setting, or when the number of pack-files | ||
exceeds the `gc.autoPackLimit` config setting. | ||
|
||
--quiet:: | ||
Do not report progress or other information over `stderr`. | ||
|
||
--task=<task>:: | ||
If this option is specified one or more times, then only run the | ||
specified tasks in the specified order. If no `--task=<task>` | ||
arguments are specified, then only the tasks with | ||
`maintenance.<task>.enabled` configured as `true` are considered. | ||
See the 'TASKS' section for the list of accepted `<task>` values. | ||
|
||
GIT | ||
--- | ||
Part of the linkgit:git[1] suite |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On the Git mailing list, Martin Ågren wrote (reply to this):