From: David Turner <dturner@twopensource.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Brian Degenhardt <bmd@bmdhacks.com>
Subject: Re: [PATCH] cache-tree: populate cache-tree on successful merge
Date: Tue, 28 Jul 2015 17:18:47 -0400 [thread overview]
Message-ID: <1438118327.18134.42.camel@twopensource.com> (raw)
In-Reply-To: <xmqqsi88c8m9.fsf@gitster.dls.corp.google.com>
On Tue, 2015-07-28 at 13:47 -0700, Junio C Hamano wrote:
> David Turner <dturner@twopensource.com> writes:
>
> > When we unpack trees into an existing index, we discard the old index
> > and replace it with the new, merged index. Ensure that this index has
> > its cache-tree populated. This will make subsequent git status and
> > commit commands faster.
> >
> > Signed-off-by: David Turner <dturner@twopensource.com>
> > Signed-off-by: Brian Degenhardt <bmd@bmdhacks.com>
> > ---
> >
> > This patch is by my colleague, Brian Degenhardt (as part of his work
> > on git at Twitter). I'm sending it with his and Twitter's approval.
>
> I'd need to tweak the From:/Author: line then, and flip the order of
> the sign-off, as Brian wrote and signed off then David relayed (as
> attached).
Where do I put an Author: line? In the commit message above the
signoffs? As an email header? I didn't see an option to git send-email
that would do this. I don't want to use the From: header because I want
to be the point-of-contact for these patches.
> > diff --git a/unpack-trees.c b/unpack-trees.c
> > index 2927660..befc247 100644
> > --- a/unpack-trees.c
> > +++ b/unpack-trees.c
> > @@ -1156,6 +1156,13 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
> > o->src_index = NULL;
> > ret = check_updates(o) ? (-2) : 0;
> > if (o->dst_index) {
> > + if (!o->result.cache_tree)
> > + o->result.cache_tree = cache_tree();
> > +
> > + if (!cache_tree_fully_valid(o->result.cache_tree)) {
> > + cache_tree_update(&o->result, WRITE_TREE_SILENT | WRITE_TREE_REPAIR);
> > + }
>
> This does the cache-tree thing unconditionally, not "on successful
> merge". cache_tree_update() would refuse when it sees an unmerged
> entry, but somehow the discrepancy between the title and the code
> bothers me.
>
> By the way, I wonder if we can lose/revert aecf567c (cache-tree:
> create/update cache-tree on checkout, 2014-07-05), now the
> underlying unpack_trees() does the necessary cache_tree_update()
> when a branch is checked out.
Well, the tests still pass, so I guess so. That is, we still need the
WRITE_TREE_REPAIR bit, but not the update check.
Will re-roll once I hear back on the author line.
next prev parent reply other threads:[~2015-07-28 21:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 19:30 [PATCH] cache-tree: populate cache-tree on successful merge David Turner
2015-07-28 19:50 ` Junio C Hamano
2015-07-28 19:54 ` David Turner
2015-07-28 19:55 ` Junio C Hamano
2015-07-28 20:04 ` Junio C Hamano
2015-07-28 20:28 ` David Turner
2015-07-28 20:58 ` Junio C Hamano
2015-07-28 20:47 ` Junio C Hamano
2015-07-28 21:18 ` David Turner [this message]
2015-07-28 21:38 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1438118327.18134.42.camel@twopensource.com \
--to=dturner@twopensource.com \
--cc=bmd@bmdhacks.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.