Code

Show usage string for 'git cherry -h'
authorJonathan Nieder <jrnieder@gmail.com>
Mon, 9 Nov 2009 15:04:43 +0000 (09:04 -0600)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 Nov 2009 01:08:44 +0000 (17:08 -0800)
Treat an "-h" option as a request for help, rather than an
"Unknown commit -h" error.

"cherry -h" could be asking to compare histories that leads to
our HEAD and a commit that can be named as "-h".  Strictly
speaking, that may be a valid refname, but the user would have to
say something like "tags/-h" to name such a pathological ref
already, so it is not such a big deal.

The "-h" option keeps its meaning even if preceded by other
options or followed by other arguments.  This keeps the
command-line syntax closer to what parse_options would give and
supports shell aliases like 'alias cherry="git cherry -v"' a
little better.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-log.c

index 207a36178bafcbd755789fefb35b74054d1ff2fa..524850735acd8dcbdf5c5c95332a3c721d8c8483 100644 (file)
@@ -1237,6 +1237,9 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
                argv++;
        }
 
+       if (argc > 1 && !strcmp(argv[1], "-h"))
+               usage(cherry_usage);
+
        switch (argc) {
        case 4:
                limit = argv[3];