Skip to content

Commit

Permalink
Fix command line parameter parser of revert/cherry-pick
Browse files Browse the repository at this point in the history
The parser was inconsistently done, in that it did not look at
the last command line parameter to see if it could be an unknown
option, although it was designed to notice unknown options if
they were given in positions the command expects to find them
(i.e. everything except the last parameter, which ought to be
<commit-ish>).  This prevented a very natural invocation

	$ git cherry-pick --usage

from issuing the usage help.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed May 23, 2007
1 parent 2555699 commit 32309f5
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions builtin-revert.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ static void parse_options(int argc, const char **argv)
if (argc < 2)
usage(usage_str);

for (i = 1; i < argc - 1; i++) {
for (i = 1; i < argc; i++) {
arg = argv[i];
if (arg[0] != '-')
break;
if (!strcmp(arg, "-n") || !strcmp(arg, "--no-commit"))
no_commit = 1;
else if (!strcmp(arg, "-e") || !strcmp(arg, "--edit"))
Expand All @@ -59,7 +61,8 @@ static void parse_options(int argc, const char **argv)
else if (strcmp(arg, "-r"))
usage(usage_str);
}

if (i != argc - 1)
usage(usage_str);
arg = argv[argc - 1];
if (get_sha1(arg, sha1))
die ("Cannot find '%s'", arg);
Expand Down

0 comments on commit 32309f5

Please sign in to comment.