On Wed, May 23, 2018 at 01:32:46PM -0400, Jeff King wrote: > 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@xxxxxxxxx/ I haven't absorbed it all yet, but I'm adding Junio to the cc. -Peff