summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-09-05 14:59:59 -0700
committerJunio C Hamano <gitster@pobox.com>2007-09-06 00:08:56 -0700
commitd4bb43ee273528064192848165f93f8fc3512be1 (patch)
treedaf1efa52ecfd30026e641ce11c2e7c65c32f3e0
parent2c3c4399477533329579ca6b84824ef0b125914f (diff)
downloadgit-d4bb43ee273528064192848165f93f8fc3512be1.tar.gz
Invoke "git gc --auto" from commit, merge, am and rebase.
The point of auto gc is to pack new objects created in loose format, so a good rule of thumb is where we do update-ref after creating a new commit. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-am.sh2
-rwxr-xr-xgit-commit.sh1
-rwxr-xr-xgit-merge.sh1
-rwxr-xr-xgit-rebase--interactive.sh2
4 files changed, 6 insertions, 0 deletions
diff --git a/git-am.sh b/git-am.sh
index 6809aa07f6..4db4701c9e 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -466,6 +466,8 @@ do
"$GIT_DIR"/hooks/post-applypatch
fi
+ git gc --auto
+
go_next
done
diff --git a/git-commit.sh b/git-commit.sh
index 1d04f1ff31..d22d35eadc 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -652,6 +652,7 @@ git rerere
if test "$ret" = 0
then
+ git gc --auto
if test -x "$GIT_DIR"/hooks/post-commit
then
"$GIT_DIR"/hooks/post-commit
diff --git a/git-merge.sh b/git-merge.sh
index 3a01db0d75..697bec24fa 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -82,6 +82,7 @@ finish () {
;;
*)
git update-ref -m "$rlogm" HEAD "$1" "$head" || exit 1
+ git gc --auto
;;
esac
;;
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index abc2b1c3e0..8258b7adf9 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -307,6 +307,8 @@ do_next () {
rm -rf "$DOTEST" &&
warn "Successfully rebased and updated $HEADNAME."
+ git gc --auto
+
exit
}