Subject: Re: [PATCH v6 0/3] rebase: document, clean up, and introduce a config option for --rebase-merges

From: Junio C Hamano <[email-masked]>
Date: Mon, 06 Mar 2023 11:08:06 -0800

Alex Henrie <[email-masked]> writes:

> Interesting, thank you for clarifying. I just tried it and it appears
> that --rebase-merges requires an equals sign when it has an argument.
> For example:
>
> $ git rebase --rebase-merges=rebase-cousins
> Current branch master is up to date.
>
> $ git rebase --rebase-merges rebase-cousins
> fatal: invalid upstream 'rebase-cousins'
>
> So there is no ambiguity because if an argument to a flag is optional,
> an equals sign is required.

Exactly.

It is not a good excuse that users can express something
unambiguously to the machinery once they know they need to use '=',
when they are so accustomed to giving values to ordinary options
without.  This is why options with optional value is considered a
bad UI element, because the way "--opt val" is interpreted for them
is different from everybody else.  And it burdens the users by
forcing them to _know_ which ones are with optional value.

Since it is an existing UI breakage, as long as the series is not
making it worse or harder to fix in the future, it is fine, though.