Document garbage collection settings for Git

Add a note to the Git/SSH interface documentation that we recommend to
disable automatic garbage collection and use a maintenance script to
cleanup and optimize the Git repository instead.

Also, add a reference to the Git/SSH interface documentation to the Git
repository setup instructions in INSTALL.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2017-01-17 08:49:41 +01:00
parent ecfa54e492
commit 087b539cbc
2 changed files with 12 additions and 2 deletions

View file

@ -57,6 +57,9 @@ Setup on Arch Linux
# ln -s /usr/local/bin/aurweb-git-update hooks/update
# chown -R aur .
It is recommended to read doc/git-interface.txt for more information on the
administration of the package Git repository.
8) Configure sshd(8) for the AUR. Add the following lines at the end of your
sshd_config(5) and restart the sshd. Note that OpenSSH 6.9 or newer is
needed!

View file

@ -81,8 +81,8 @@ the GIT_NAMESPACE environment variable accordingly before forwarding a request.
An example configuration for nginx and fcgiwrap can be found in the INSTALL
instructions in the top-level directory.
Further Configuration
---------------------
Further Configuration and Administration
----------------------------------------
When using Git namespaces, Git advertises refs outside the current namespace as
so-called "have" lines. This is normally used to reduce traffic but it has the
@ -94,3 +94,10 @@ In order to omit these advertisements, one can add the strings "^refs/",
"!refs/" and "!HEAD" to the transfer.hideRefs configuration setting. Note that
the order of these patterns is important ("^refs/" must come first) and that
Git 2.7 or newer is required for them to work.
Since garbage collection always affects all objects (from all namespaces), it
is also recommended to disable automatic garbage collection by setting
receive.autogc to false. Remember to periodically run `git gc` manually or
setup a maintenance script which initiates the garbage collection if you follow
this advice. For gc.pruneExpire, we recommend "3.months.ago", such that commits
that became unreachable by TU intervention are kept for a while.