Subject: Re: so/diff-merges-more (was Re: What's cooking in git.git (Feb 2023, #01; Thu, 2))

From: Junio C Hamano <[email-masked]>
Date: Fri, 17 Mar 2023 17:08:21 -0700

Sergey Organov <[email-masked]> writes:

>> I do not quite understand the last one (#4),
>
> Well, -m does not imply -p, whereas the rest of diff-merges options
> (-c/--cc/--remerge-diff) do imply -p. This is what half of this
> lengthy discussion was about.
>
>> own 4., it would be that introducing --diff-merges={kind} may have
>> been a mistake.  It would have been fine and better to just let
>> users choose from whatever set of options we support, i.e. (-c,
>> --cc, --remerge-diff, -m -p, -m --raw, ...).

> It's fine with me that --cc is everything you need, but what I need is
> rather diff to the first parent, ...

I think "show --first-parent" should give that already.  One problem
with "-m implies -p" is that it is unclear what should be done to
things like "-m --raw".  Yes, we can declare an arbitrary choice
(like "-m implies -p unless --raw, --stat, etc. are given") but that
is just replacing an arbitrary rule (i.e. "comparison with parents
are not given for merges, unless things like --cc, --first-parent,
etc. that are specifically designed for showing merges are given;
you can give -m to force pairwise behaviour.") with another one.