Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > For example, right now there is _no_ way to get even a "show diff relative > to first parent". You can do "-m", which will show it relative to _both_ > parents, but nobody ever wants that. And you can do "-c" or "--cc", but > that simplifies away all the paths that match in one. Actually for that "Where did my file 'x' go across the merge chain", I was going to suggest something like git log --simplify-merges -m --raw -- x > So here's a challenge: in the git repository, get a nice view of what your > merges looked like. The closest I can get is > > git log -c --stat --grep="Merge branch '" > > which is actually very non-intuitive ("-c" on its own gives no useful > output, but "-c --stat" gives nice diffstat against the first parent, > which in this case is what we want). I think the logical place to hook that into is the --first-parent option. I actually have very hard resisted so far the temptation to do so because your mantra has always been "in a merge, all parents are equal." If you treat the first parent specially too heavily, it would go against the "I got a pull request from you, but the resulting conflicts are too much for me; you know the area much better than I do, so could you do the merge for me and I'll fast forward to you later" workflow. The "first parent is the mainline" and "I am important, so I'll merge with --no-ff to pee in the snow" mentality problems will become worse. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html