Re: git commit results in many lstat()s
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 1, 2017, 23:50 UTC
- Message-ID
- <xmqq60ktmpwl.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <DA0A42D68346B1469147552440A645039A9C57D6@ORSMSX115.amr.corp.intel.com>
"Gumbel, Matthew K" <matthew.k.gumbel@intel.com> writes:
Show 7 quoted lines
> "Junio C Hamano" <jch2355@gmail.com> writes: >> There probably are other things that can be optimized. > > Yes, I think that when the user passes --only flag to git-commit, then git does not > need to call refresh_cache() in prepare_index() in builtin/commit.c. > > I may experiment with that. Do you see any downside or negative side-effects?
There may be other fallouts, but one that immediately comes to mind is that it may break pre-commit hook.
When we get "--only", we prepare an temporary index to create the commit out of, and give it to the pre-commit hook. The hook expects that the cached stat information is up-to-date, iow, it does not have to do 'update-index --refresh' before using plumbing commands like "diff-index" to do its own inspection of the working tree.