Junio C Hamano <gitster@xxxxxxxxx> wrote: > 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. ... > git-am.sh | 2 ++ > git-commit.sh | 1 + > git-merge.sh | 1 + > git-rebase--interactive.sh | 2 ++ > 4 files changed, 6 insertions(+), 0 deletions(-) ... > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > index abc2b1c..8258b7a 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 > } Why bother with git-rebase--interactive.sh? It calls two tools, git-cherry-pick (which calls git-commit) and git-commit to do its per-commit dirty work. So on every step of `git rebase -i` we are now running `git gc --auto`. No need to also run it at the end. Note this is also true of `git rebase -m` as that uses the wonderful feature of `git commit -C $oldid` per commit to make the new commit. -- Shawn. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html