Re: [PATCH] Update "gc" behavior in commit, merge, am, rebase and index-pack
- From
Jeff King <peff@peff.net>
- Date
- May 14, 2012, 20:50 UTC
- Message-ID
- <20120514205039.GB3740@sigill.intra.peff.net>
- In-Reply-To
- <1336810134-3103-1-git-send-email-pclouds@gmail.com>
On Sat, May 12, 2012 at 03:08:54PM +0700, Nguyen Thai Ngoc Duy wrote:
Show 5 quoted lines
> Instead, we could just inform users that "gc" should be run soon in > commonly used commands (this patch also reinstates "gc" check in > commit, which was lost at the sh->C conversion). [1] and [2] can annoy > users constantly with warnings. This patch shows the warning at most > once a day.
Hmm. The missing "gc" from git-commit has been noticed before, but we decided not to reinstate it[1]:
http://thread.gmane.org/gmane.comp.version-control.git/78524/focus=78693
However, I'm not sure Junio's argument in that thread is valid:
I had an impression that we accepted the hook which made "gc --auto" more expensive by forcing it to check the hook (and possibly execute it every time) after vetting am, svn and friends to make sure nobody triggered "gc --auto" once per every commit, and during that vetting process we noticed that "git commit" lost the "gc --auto" at the end.
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).
-Peff
[1] It also came up other times:
http://thread.gmane.org/gmane.comp.version-control.git/101667
http://thread.gmane.org/gmane.comp.version-control.git/114089
but each time it seems to have been rejected on the basis of the
first argument.