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

From: Junio C Hamano <[email-masked]>
Date: Sun, 02 Aug 2020 10:35:25 -0700

Sergey Organov <[email-masked]> writes:

> What I in fact have in mind is something like:
>
>   --diff-merges[=<parent-number>|c|cc|all]
>
> to have a single point of definition of the needed format of merges
> representation.

A command line option that takes _optional_ argument is evil; it
hurts teachability (e.g. "why does this option always require
"--opt=val" and refuses '--opt val'?").  Making the optional value
configurable is even more so (e.g. "teacher said to use '--opt', but
it does not behave the way she taught---ah, I have this config").

> Then comes the question of the default. "all" is what'd make it behave
> as "-m" behaves now. If it's too late for --diff-merges to have
> different default, could the default possibly be a configuration
> option rather than yet another command-line option?

Introduce --diff-parent=(none|<parent-number>|c|cc|all) that is
different from --diff-merges, and -m and --[no-]diff-merges can be
defined in terms of that, at which point we can gradually deprecate
them if we wanted to, no?