Subject: Re: [PATCH v2 0/7] making log --first-parent imply -m

From: Sergey Organov <[email-masked]>
Date: Sat, 08 Aug 2020 02:07:12 +0300

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

> Sergey Organov <[email-masked]> writes:
>
>> The only question regarding it I then have for now is what are
>> preferences for names selection inside single option? Abbreviated yet
>> somewhat sensible, or verbose? I mean:
>>
>> --diff-merges=first vs --diff-merges=first-parent
>>
>> --diff-merges=comb vs --diff-merges=combined
>>
>> etc. What's better?
>
> If we were to shoot for easy-to-type, we could go for ultra-short
> abbreviations like 'no', 'c', 'cc', 'each' (the last one is the
> traditional "-m" when used without "--first-parent"; diff with each
> parent) and later add 'fp', but in a sense we are already lost the
> easy-to-type goal by "--diff-merges" being sufficiently long.

Do I get it right that there are no common guidelines and every case is
to be considered separately?

Anyway:

$ git log -d
fatal: unrecognized argument: -d
$ git show -d
fatal: unrecognized argument: -d

so it seems we still have -d to (ab)use for, say "-d 1" or "-d m", if we
decide to.

>
> I personally wouldn't choose "first" or "first-parent", but just use
> "1", so that we could support "2" when viewing a merge that was done
> in the wrong direction with "git show", though.

I fail to see how using "first-parent" would deny using a number either
later or right now, though based on your own rating of octopus merges
with which I whole-heartedly agree, the only thing we'd ever need seems
to be "second-parent", or 2.

> IOW, even though I said that "use these parents but not those" (i.e.
> set of parents) smells overkill, at least to me, I think specifying a
> single parent that is not necessarily the first one would be a
> reasonable thing to do.

The second parent, I'd agree. Others? Well, that's more a completeness
theoretical issue to me rather than practical one. More relevant to
plumbing than to porcelain thereof. And, as additional safety, we still
have that "all|every|each|split" -m that will show needed diff among
others.

>
> So, if I were to vote, it would be
>
>     "--diff-merges=" ( first-parent        | 1 |
> 		         combined            | c |
>                        dense-combined      | cc |
>                        each-parent         | m )
>     "--no-diff-merges"
>
> leaving some room to add '2' and  <any posInt> later.

Thanks for voting!

I believe we still have the room for digits even if we use first-parent,
and then won't

 "--first-parent implies --diff-merges=first-parent"

sound really cool?

Overall, I incline to support short (traditional and numbered) variants
along with new longer spellings at the same time, similar to short and
long options.

Thanks,
-- Sergey