Alex Henrie <alexhenrie24@xxxxxxxxx> 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.