Jeff King <peff@xxxxxxxx> writes: > 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. Old behaviour meaning "git log --first-parent -p master..next" would mostly list commits without patches unless there is a single-parent commit thrown in the first-parent chain? I would imagine it would be one way to locate and view reverts, cherry-picks and "oops I botched the merge previously" fix-ups on 'next'. I could add "--no-merges" to that command line but then the output loses all the clues on when topics are merged in what order and show only those single-parent commits, so it is not exactly the same thing. It loses a lot, and the current behaviour strikes a very good balance for the use case. So, if we make "-m" the default in some cases (like "--first-parent"), we do need a way to toggle it off. Thanks.