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

From: Sergey Organov <[email-masked]>
Date: Fri, 17 Mar 2023 17:18:56 +0300

Junio C Hamano <[email-masked]> writes:

> Sergey Organov <[email-masked]> writes:
>
>> 1. The fact that -m does not imply -p is a mistake. There is no any
>>    reasons this exact behavior could be useful. As such, it does not
>>    make sense to support this exact behavior in --diff-merges. So the
>>    reject of --diff-merges=[no-]hide.
>>
>> 2. This mistake is too dangerous to fix due to subtle compatibility
>>    problems, so we can't just fix -m behavior. Thus the reject of my
>>    earlier patch "let -m imply -p".
>>
>> 3. Moving behavior change under option is not worth it, as nobody
>>    presumably needs this fixed -m behavior anyway (at least among 2
>>    persons that are actually opposing the changes). So the reject
>>    of "add diffMerges-m-imply-p configuration option" patch.
>>
>> 4. Staring in the face inconsistency between -m and the rest
>>    of short diff-merge options is not significant enough to reconsider
>>    any of the above rejects.
>
> 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, ...).
>
> IOW, perhaps deprecate --diff-merges={kind} and eventually remove
> it, if we could.

Why? Unlike -m vs -c they are at least self-consistent and besides allow
to get the output that those short options do not.

> We've been fine without it and we'll be fine without it. Unfortunately
> it may be a bit too late for that, but it certainly is much younger
> than "-m".

I, for one, was never fine with what Git does to show diff for merges.
Then, taking into account that introducing of --diff-merges was not
my idea in the first place, there should be at least two of us here
who were not fine.

It's fine with me that --cc is everything you need, but what I need is
rather diff to the first parent, and I had a hope to finally get -m to
do it, aiming both for consistency and convenience. My 2 attempts
performed in different ways both failed, so, being tired of it likely
even more than you do, I digress.

Thanks,
-- Sergey Organov