Re: frustrated forensics: hard to find diff that undid a fix
- From
Jeff King <peff@peff.net>
- Date
- Mar 5, 2011, 13:48 UTC
- Message-ID
- <20110305134846.GA2221@sigill.intra.peff.net>
- In-Reply-To
- <20110305125100.GA14547@elie>
On Sat, Mar 05, 2011 at 06:51:00AM -0600, Jonathan Nieder wrote:
Show 9 quoted lines
> | $ git log --oneline -m -S "$(cat contrib/fast-import/git-p4)" maint..master > | 07873dc (from 964498e) Merge branch 'maint' > | 6d74e5c (from 08fd871) Merge branch 'mh/p4' > | 6d74e5c (from c9dbab0) Merge branch 'mh/p4' > | $ > > Too many hits (it includes every merge in which one side contains > the string and the other does not). How about -c, which seemed to > produce such nice output with --raw?
Yeah, I think the problem is that the diffcore chain doesn't know enough about the merge. It just sees the filepairs between the commit and each parent separately. I looked into this recently as part of this thread:
http://article.gmane.org/gmane.comp.version-control.git/165743
I described some reasonable semantics there, but implementing them looked non-trivial. I'd be very happy to be proven wrong. Patches welcome. :)
-Peff