On Wed, Jul 29, 2020 at 02:22:07PM -0400, Jeff King wrote: > After thinking on it more, I flipped it to: > > -m:: > --diff-merges:: > [existing text...] > > and then I don't think we need to have another block for > --no-diff-merges. > > I'll likewise add a statement that "-m" is implied by "--first-parent" > and can be counteracted with the "--no" form, which I think should spell > out all the implications of the series. Hmm, I take that back. I tried adding this: diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index 0785a0cfe9..41c859e63f 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -1154,7 +1154,9 @@ options may be given. See linkgit:git-diff-files[1] for more options. and diff is generated. An exception is that only diff against the first parent is shown when `--first-parent` option is given; in that case, the output represents the changes the merge - brought _into_ the then-current branch. + brought _into_ the then-current branch. Note that + `--first-parent` implies `-m` if no combined-diff option is + enabled; you can use `--no-diff-merges` to override that. -r:: Show recursive diffs. but then I'm left wondering: why would you ever want to override it? I added the option as an escape hatch in case anybody really needed the old behavior. But I have trouble imagining a scenario where that is the case, and I wonder if it is even worth advertising. -Peff