aboutsummaryrefslogtreecommitdiff
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 09:19:34 -0800
commitc2120e5e4b9f7c548b0c49f914bc0881d7cece6f (patch)
tree84b26d22f171fb249428fc22c533c50921f9cbb5 /git-gc.sh
parent85b1f98871f19617ff7ee8ec245fe4e817a74aa4 (diff)
downloadgit-c2120e5e4b9f7c548b0c49f914bc0881d7cece6f.tar.gz
git-c2120e5e4b9f7c548b0c49f914bc0881d7cece6f.tar.xz
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 'git-gc.sh')
-rwxr-xr-xgit-gc.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/git-gc.sh b/git-gc.sh
index 3e8c87c81..1a45de5df 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 &&