Hallvard Breien Furuseth [off-list ref] writes:
I think
git rebase [--onto <newbase>] [<upstream>][..[<branch>]]
would be a more readable syntax for what rebase is doing. Easier
to see which argument means what without staring at the manpage.
"..[<branch>]" without <upstream> implies --root.
I do not offhand see a huge issue if you come up with a patch that allows
users to additionally say:
$ git rebase upstream..topic
$ git rebase --onto there upstream..topic
what they express with
$ git rebase upstream topic
$ git rebase --onto there upstream topic
today.
However, "git rebase ..topic" to mean "everything down to root from topic"
is not OK; lack of one side in dotted range defaults to HEAD everywhere
else and such a change will introduce a huge discrepancy.