summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-11-14 13:39:21 +0100
committerLukas Fleischer <lfleischer@archlinux.org>2015-11-14 13:40:53 +0100
commit002d348d903c9f46e8fef453279eec5482eb43bf (patch)
tree7af48e733319d8c1ac007a4904c2efa9c54eaa94
parenta114476e8134f27d2dd33b1f023535e3cc8bd094 (diff)
downloadaurweb-002d348d903c9f46e8fef453279eec5482eb43bf.tar.xz
Describe how to omit "have" lines
A new feature in Git allows for omitting "have" lines corresponding to refs outside the current Git namespace. Explain how to enable this feature in the INSTALL instructions and in the Git interface documentation. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
-rw-r--r--INSTALL2
-rw-r--r--doc/git-interface.txt13
2 files changed, 15 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
index d68fa26..d956911 100644
--- a/INSTALL
+++ b/INSTALL
@@ -46,6 +46,8 @@ Setup on Arch Linux
# mkdir /srv/http/aurweb/aur.git/
# cd /srv/http/aurweb/aur.git/
# git init --bare
+ # git config --local transfer.hideRefs '^refs/'
+ # git config --local transfer.hideRefs '!refs/'
# ln -s ../../git-interface/git-update.py hooks/update
# chown -R aur .
diff --git a/doc/git-interface.txt b/doc/git-interface.txt
index 9ded20f..4a24eef 100644
--- a/doc/git-interface.txt
+++ b/doc/git-interface.txt
@@ -80,3 +80,16 @@ request.
An example configuration for nginx and fcgiwrap can be found in the INSTALL
instructions in the top-level directory.
+
+Further Configuration
+---------------------
+
+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
+opposite effect in the case of aurweb: Many essentially useless lines are
+transferred to the Git client during `git push` operations.
+
+In order to omit these advertisements, add the strings "^refs/" and "!refs/" 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.