From: Junio C Hamano Date: Mon, 14 May 2012 23:35:35 GMT Subject: Re: [PATCH] Update "gc" behavior in commit, merge, am, rebase and index-pack Message-ID: <7vy5oufi9k.fsf@alter.siamese.dyndns.org> In-Reply-To: <20120514205039.GB3740@sigill.intra.peff.net> Jeff King writes: > The pre-auto-gc hook runs only when we need to gc (i.e., when we would > be doing something expensive, anyway). So it is still cheap to check > whether we need to gc (although if you have an option like "--check" > which does not _fix_ the situation after checking, then you may end up > running the hook repeatedly). Whether we need to gc might be cheap to check, but I think the worry about the new hook added after commit lost auto-gc was the hook to see if the user declines our offer to run "gc --auto" may be expensive with an extra fork and exec. But I am personally fine with "commit" running "gc --auto" every time; pre-auto-gc hook is opt-in after all. As you mentioned in your own follow-up message, however, it will make things worse without any real benefit if it is merely "check and warn but never gc". Also when "gc --auto" does not make the repository better (I vaguely recall some corner cases mentioned here in the past), repeated invocation of it might make such a change annoying.