Jeff King [off-list ref] writes:
The "0" comes from the initialization of the replay_opts struct (it also
happens if you explicitly disclaim any previous option with
--no-mainline).
I think using 0 as a sentinel is OK here, but the option-parser should
complain when we go out of range. Like this:
An alternative could be to use -1 as a sentinel and clean it up
after parse_options() returns, but then we will see another "bug"
report that says "cherry-pick -m -1" gives a bad error message,
which essentially is the same "bug" report as the one that triggered
this change, which says the error message from "cherry-pick -m 0" is
wrong X-<.
The "RANGE" thing is certainly tempting, but let's do so after we
find multiple places that can benefit from it.
Will queue; thanks.