On Tue, Mar 26, 2019 at 9:35 AM Jeff King <peff@xxxxxxxx> wrote: > > On Mon, Mar 25, 2019 at 09:43:09AM +0300, Sergey Organov wrote: > > > How about changing "git show -p M" to output "diff -p M^ M" rather than > > "diff-tree --cc M" for merge commits? It's really surprising specifying > > -p has no visible effect. > > That's because "-p" is already the default, and the format selection is > orthogonal to the handling of merge commits. Providing "-m" would > actually override the "--cc" default (though "--first-parent -m" is > likely to be less noisy, per this discussion). > > As far as defaults go, I dunno. The idea is that "--cc" would give you a > nice summary of what the merge _itself_ had to touch. I think that's > valuable, too. If we were starting from scratch, I think there could be > a discussion about whether one default is better than the other. But at > this point I have a hard time finding one so much obviously better than > the other to merit changing the behavior. Indeed, some of us would view a first parent diff default for merges as problematic. However, I'd like to point out (or remind) that these two options aren't the only ways you could view a merge. Thomas Rast's --remerge-diff[1] is another (even if not yet part of git.git). Gerrit uses something similar-ish for its default way of showing a merge. [1] See e.g. https://bugs.chromium.org/p/git/issues/detail?id=12