summaryrefslogtreecommitdiffstats
path: root/git-gc.sh
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2007-02-13 14:01:42 +0100
committerJunio C Hamano <junkio@cox.net>2007-02-13 18:19:34 +0100
commitc2120e5e4b9f7c548b0c49f914bc0881d7cece6f (patch)
tree84b26d22f171fb249428fc22c533c50921f9cbb5 /git-gc.sh
parent"git-fetch --tags $URL" should not overwrite existing tags (diff)
downloadgit-c2120e5e4b9f7c548b0c49f914bc0881d7cece6f.tar.xz
git-c2120e5e4b9f7c548b0c49f914bc0881d7cece6f.zip
git-gc: run pack-refs by default unless the repo is bare
The config variable gc.packrefs is tristate now: "true", "false" and "notbare", where "notbare" is the default. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to '')
-rwxr-xr-xgit-gc.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/git-gc.sh b/git-gc.sh
index 3e8c87c814..1a45de5dff 100755
--- a/git-gc.sh
+++ b/git-gc.sh
@@ -22,6 +22,14 @@ do
shift
done
+case "$(git config --get gc.packrefs)" in
+notbare|"")
+ test $(is_bare_repository) = true || pack_refs=true;;
+*)
+ pack_refs=$(git config --bool --get gc.packrefs)
+esac
+
+test "true" != "$pack_refs" ||
git-pack-refs --prune &&
git-reflog expire --all &&
git-repack -a -d -l &&