aboutsummaryrefslogtreecommitdiff
path: root/git-gc.sh
diff options
context:
space:
mode:
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 &&