Re: [PATCH 6/6] diff-merges: let -m imply -p
- From
Sergey Organov <sorganov@gmail.com>
- Date
- May 11, 2021, 21:38 UTC
- Message-ID
- <87h7j9ne7j.fsf@osv.gnss.ru>
- In-Reply-To
- <xmqqtun9knmy.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 20 quoted lines
> Elijah Newren <newren@gmail.com> writes: > >> On Tue, May 11, 2021 at 7:03 AM Sergey Organov <sorganov@gmail.com> wrote: >>> ... >> I think --cc is a lot better than -m for helping you find what users >> changed when they did the merge, but I agree the format is somewhat >> difficult for many users to understand. (--diff-merges=remerge, or >> --remerge-diff, fixes these problems, IMO.) I think >> --diff-merges=first-parent, while fine when explicitly requested on >> the command line, would be wildly misleading as a default because it >> would attribute changes to a merge commit that were made elsewhere. >> >>> Overall, let's rather make -m give diff to the first parent by default. >>> Simple. Useful. Not confusing. >> >> I think it's confusing. > > I do not think it is particularly confusing---after all, it shows > "here is a comparison between two trees" the users are familiar with > in a single strand of pearls.
Moreover, it's comparison between two most natural trees, the same trees as for non-merge commits.
Show 7 quoted lines
> > But I do think that it is an utterly misleading option to show > merges in general. When "log" is used with the "--first-parent" > traversal, "compare with the first parent to show everything the > side branch did" is an acceptable alternative, but even there, it is > far less suitable than the "remerge" or "cc", I would think, as the > default format.
What I still fail to see is why somebody wants to mix traversal rules with representation of merge commits, sorry.
If I want to see merges in --cc, I want them in --cc, no matter which way I get to particular commit through the DAG. If I want to see them in --diff-merges=1, I want them this way, no matter how I happened to get to particular commit.
Is it more likely that I want to see merges in --diff-merges=1 when I use --first-parent? Yes, of course! That's why --first-parent implies --diff-merges=1. Vice versa? No, why?
Thanks,
-- Sergey Organov