]> git.ipfire.org Git - thirdparty/git.git/commit
cherry-pick: detect bogus arguments to --mainline
authorJeff King <peff@peff.net>
Wed, 15 Mar 2017 16:56:23 +0000 (12:56 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Mar 2017 19:08:36 +0000 (12:08 -0700)
commitb16a991c1be5681b4b673d4343dfcc0c2f5ad498
tree7b5f6a56e3955b4f1b0fbfbf5413007289892bc7
parentc3808ca6982b0ad7ee9b87eca9b50b9a24ec08b0
cherry-pick: detect bogus arguments to --mainline

The cherry-pick and revert commands use OPT_INTEGER() to
parse --mainline. The stock parser is smart enough to reject
non-numeric nonsense, but it doesn't know that parent
counting starts at 1.

Worse, the value "0" is indistinguishable from the unset
case, so a user who assumes the counting is 0-based will get
a confusing message:

  $ git cherry-pick -m 0 $merge
  error: commit ... is a merge but no -m option was given.

Let's use a custom callback that enforces our range.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/revert.c
t/t3502-cherry-pick-merge.sh