Junio C Hamano <gitster@xxxxxxxxx> writes: > Sergey Organov <sorganov@xxxxxxxxx> 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'?"). Yeah, I sympathize. > 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"). OK, let's drop the suggestion then. > >> 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? Sounds great, I only hoped we can do it right now, with this new --diff-merges option, maybe as a pre-requisite to the patches in question, but Jeff said it's too late, dunno why. Thanks, -- Sergey