Clarify git housekeeping

This changed in
6bcc52a536

The current docs are not clear in stating that we also run a `git repack` and
that we respect the admin application setting values.
This commit is contained in:
Chris Wilson 2016-12-30 14:58:22 +08:00
parent 358a2d8b0d
commit deb0ff8bf2
1 changed files with 19 additions and 7 deletions

View File

@ -12,13 +12,24 @@ to turn it off, go to **Admin area > Settings**
## Manual housekeeping
The housekeeping function runs `git gc` ([man page][man]) on the current
project Git repository.
The housekeeping function will run a `repack` or `gc` depending on the
"Automatic Git repository housekeeping" settings configured in **Admin area > Settings**
`git gc` runs a number of housekeeping tasks, such as compressing file
revisions (to reduce disk space and increase performance) and removing
unreachable objects which may have been created from prior invocations of
`git add`.
For example in the following scenario a `git repack -d` will be executed:
+ Project: pushes since gc counter (`pushes_since_gc`) = `10`
+ Git GC period = `200`
+ Full repack period = `50`
When the `pushes_since_gc` value is 50 a `repack -A -d --pack-kept-objects` will run, similarly when
the `pushes_since_gc` value is 200 a `git gc` will be run.
+ `git gc` ([man page][man-gc]) runs a number of housekeeping tasks,
such as compressing filerevisions (to reduce disk space and increase performance)
and removing unreachable objects which may have been created from prior invocations of
`git add`.
+ `git repack` ([man page][man-repack]) re-organize existing packs into a single, more efficient pack.
You can find this option under your **[Project] > Edit Project**.
@ -27,4 +38,5 @@ You can find this option under your **[Project] > Edit Project**.
![Housekeeping settings](img/housekeeping_settings.png)
[ce-2371]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2371 "Housekeeping merge request"
[man]: https://www.kernel.org/pub/software/scm/git/docs/git-gc.html "git gc man page"
[man-gc]: https://www.kernel.org/pub/software/scm/git/docs/git-gc.html "git gc man page"
[man-repack]: https://www.kernel.org/pub/software/scm/git/docs/git-repack.html