[aur-dev] [PATCH] Document garbage collection settings for Git

Lukas Fleischer lfleischer at archlinux.org
Tue Jan 17 18:24:41 UTC 2017

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 at archlinux.org>
 INSTALL               |  3 +++
 doc/git-interface.txt | 11 +++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/INSTALL b/INSTALL
index bad80de..a472b27 100644
@@ -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
diff --git a/doc/git-interface.txt b/doc/git-interface.txt
index 14ff0c5..475fda6 100644
--- a/doc/git-interface.txt
+++ b/doc/git-interface.txt
@@ -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.

More information about the aur-dev mailing list