From: John Keeping <john@keeping.me.uk>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH] merge-tree: fix "same file added in subdir"
Date: Thu, 28 Mar 2013 09:34:58 +0000 [thread overview]
Message-ID: <20130328093458.GV2286@serenity.lan> (raw)
In-Reply-To: <20130327225739.GT2286@serenity.lan>
On Wed, Mar 27, 2013 at 10:57:39PM +0000, John Keeping wrote:
> On Wed, Mar 27, 2013 at 03:42:40PM -0700, Junio C Hamano wrote:
> > John Keeping <john@keeping.me.uk> writes:
> >
> > > When the same file is added with identical content at the top level,
> > > git-merge-tree prints "added in both" with the details. But if the file
> > > is added in an existing subdirectory, threeway_callback() bails out early
> > > because the two trees have been modified identically.
> > >
> > > In order to detect this, we need to fall through and recurse into the
> > > subtree in this case.
> > >
> > > Signed-off-by: John Keeping <john@keeping.me.uk>
> >
> > The rationale the above description gives is internally consistent,
> > but it is rather sad to see this optimization go. The primary
> > motivation behind this program, which does not use the usual
> > unpack-trees machinery, is to allow us to cull the identical result
> > at a shallow level of the traversal when the both sides changed (not
> > added) a file deep in a subdirectory hierarchy.
> >
> > The patch makes me wonder if we should go the other way around,
> > resolving the "both added identically" case at the top cleanly
> > without complaint.
>
> I don't use merge-tree so I have no opinion on this, just wanted to fix
> an inconsistency :-)
Having re-read the manpage, I think you're right that we should just
resolve the "both added identically" case cleanly, but I wonder whether
some of the other cases should also be resolved cleanly.
git-merge-tree(1) says:
the output from the command omits entries that match the <branch1>
tree.
so you could argue that "added in branch1", "changed in branch1,
unmodified in branch2" and "removed in branch1, unchanged in branch2"
should also print no output.
But as I said above I don't use git-merge-tree so perhaps people who do
would like to explain what they expect in these cases.
next prev parent reply other threads:[~2013-03-28 9:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-27 21:34 [PATCH] merge-tree: fix "same file added in subdir" John Keeping
2013-03-27 22:42 ` Junio C Hamano
2013-03-27 22:57 ` John Keeping
2013-03-28 9:34 ` John Keeping [this message]
2013-04-07 20:12 ` Junio C Hamano
2013-04-07 21:07 ` [PATCH v2] merge-tree: don't print entries that match "local" John Keeping
2013-04-27 11:35 ` René Scharfe
2013-04-27 12:55 ` John Keeping
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=20130328093458.GV2286@serenity.lan \
--to=john@keeping.me.uk \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=torvalds@linux-foundation.org \
/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.