]> granicus.if.org Git - git/commitdiff
parse-options: print "fatal:" before usage_msg_opt()
authorJeff King <peff@peff.net>
Wed, 14 Dec 2016 15:10:10 +0000 (10:10 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Dec 2016 17:58:09 +0000 (09:58 -0800)
Programs may use usage_msg_opt() to print a brief message
followed by the program usage, and then exit. The message
isn't prefixed at all, though, so it doesn't match our usual
error output and is easy to overlook:

    $ git clone 1 2 3
    Too many arguments.

    usage: git clone [<options>] [--] <repo> [<dir>]

    -v, --verbose         be more verbose
    -q, --quiet           be more quiet
    --progress            force progress reporting
    -n, --no-checkout     don't create a checkout
    --bare                create a bare repository
    [...and so on for another 31 lines...]

It looks especially bad when the message starts with an
option, like:

    $ git replace -e
    -e needs exactly one argument

    usage: git replace [-f] <object> <replacement>
       or: git replace [-f] --edit <object>
    [...etc...]

Let's put our usual "fatal:" prefix in front of it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
parse-options.c

index 312a85dbdef5723ef805917f5a556b75a55a7041..4fbe924a5de27d04b271a11a2ae040e817483951 100644 (file)
@@ -661,7 +661,7 @@ void NORETURN usage_msg_opt(const char *msg,
                   const char * const *usagestr,
                   const struct option *options)
 {
-       fprintf(stderr, "%s\n\n", msg);
+       fprintf(stderr, "fatal: %s\n\n", msg);
        usage_with_options(usagestr, options);
 }