From 087b539cbc3f4a24872e340b1aa863c263cd65bd Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Tue, 17 Jan 2017 08:49:41 +0100 Subject: 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 --- INSTALL | 3 +++ doc/git-interface.txt | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/INSTALL b/INSTALL index bad80de3..a472b277 100644 --- a/INSTALL +++ b/INSTALL @@ -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! diff --git a/doc/git-interface.txt b/doc/git-interface.txt index 14ff0c5d..475fda66 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. -- cgit v1.2.3-24-g4f1b