Re: [PATCH] cache-tree: populate cache-tree on successful merge
- From
David Turner <dturner@twopensource.com>
- Date
- Jul 28, 2015, 20:28 UTC
- Message-ID
- <1438115304.18134.33.camel@twopensource.com>
- In-Reply-To
- <xmqq1tfsdp60.fsf@gitster.dls.corp.google.com>
On Tue, 2015-07-28 at 13:04 -0700, Junio C Hamano wrote:
Show 15 quoted lines
> Junio C Hamano <gitster@pobox.com> writes: > > > David Turner <dturner@twopensource.com> writes: > > > >> The work done to produce the cache-tree is work that the commit would > >> otherwise have to do. So we're spending extra time in one place to > >> eliminate that work in a different place. > > > > Good point. Thanks. > > Hmm, I forgot about another codepath. What about operations that > are purely done to pouplate the index, without necessarily creating > a tree out of the index? > > The most worrisome is "git checkout $branch" (two-tree merge).
Git checkout $branch already populates the cache-tree; this is due to patches I added last year:
commit aecf567cbfb6ab46e82f7f5df36fb6a2dd5bee69 Author: David Turner <dturner@twopensource.com> Date: Sat Jul 5 21:06:56 2014 -0700
cache-tree: create/update cache-tree on checkout
When git checkout checks out a branch, create or update the
cache-tree so that subsequent operations are faster.
----Admittedly, we do not test for the case where we must do a two-way merge during a checkout, but I just tested that case, and it appears that we do already populate the cache-tree in that case.