Re: Weird revision walk behaviour
On Wed, May 23, 2018 at 01:32:46PM -0400, Jeff King wrote:
Show 38 quoted lines
> On Wed, May 23, 2018 at 07:10:58PM +0200, SZEDER Gábor wrote:
>
> > $ git log --oneline master..ba95710a3b -- ci/
> > ea44c0a594 Merge branch 'bw/protocol-v2' into jt/partial-clone-proto-v2
> >
> > But as far as I can tell, there are no changes in the 'ci/' directory
> > on any of the merge's parents:
> >
> > $ git log --oneline master..ea44c0a594^1 -- ci/
> > # Nothing.
> > $ git log --oneline master..ea44c0a594^2 -- ci/
> > # Nothing!
>
> Hmm. That commit does touch "ci/" with respect to one of its parents.
> It should get simplified away because it completely matches the other
> parent, so it does sound like a bug.
>
> > This is not specific to the 'ci/' directory, it seems that any
> > untouched directory does the trick:
> >
> > $ git log --oneline master..ea44c0a594 -- contrib/coccinelle/ t/lib-httpd/
> > ea44c0a594 Merge branch 'bw/protocol-v2' into jt/partial-clone-proto-v2
>
> Both of those directories also differ between one parent. If you try it
> with "contrib/remote-helpers", which does not, then the commit does not
> appear.
>
> So it does seem like a bug where we should be simplifying away the merge
> but are not (or I'm missing the corner case, too ;) ).
>
> > I get the same behavior with Git built from current master and from
> > past releases as well (tried it as far back as v2.0.0).
>
> I keep some older builds around, and it does not reproduce with v1.6.6.3
> (that's my usual goto for "old"). Bisecting turns up d0af663e42
> (revision.c: Make --full-history consider more merges, 2013-05-16). It
> looks like an unintended change (the commit message claims that the
> non-full-history case shouldn't be affected).
There's more discussion in the thread at:
https://public-inbox.org/git/1366658602-12254-1-git-send-email-kevin@bracey.fi/
I haven't absorbed it all yet, but I'm adding Junio to the cc.
-Peff