]> git.ipfire.org Git - thirdparty/git.git/commit
oddballs: send usage() help text to standard output
authorJunio C Hamano <gitster@pobox.com>
Thu, 16 Jan 2025 21:35:52 +0000 (13:35 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 17 Jan 2025 21:30:03 +0000 (13:30 -0800)
commita36a822d7d42f36baf0b3d7a0af5691ce692ce20
treee693f48caaf0ae2712db5d348c42c89b16379e40
parentb821c999ca5cb472160a2ebb33aeeac5efc2fddc
oddballs: send usage() help text to standard output

Using the show_usage_if_asked() helper we introduced earlier, fix
callers of usage() that want to show the help text when explicitly
asked by the end-user.  The help text now goes to the standard
output stream for them.

The callers in this step are oddballs in that their invocations of
usage() are *not* guarded by

if (argc == 2 && !strcmp(argv[1], "-h")
usage(...);

There are (unnecessarily) being clever ones that do things like

if (argc != 2 || !strcmp(argv[1], "-h")
usage(...);

to say "I know I take only one argument, so argc != 2 is always an
error regardless of what is in argv[].  Ah, by the way, even if argc
is 2, "-h" is a request for usage text, so we do the same".

Some like "git var -h" just do not treat "-h" any specially, and let
it take the same error code paths as a parameter error.

Now we cannot do the same, so these callers are rewrittin to do the
show_usage_and_exit_if_asked() first and then handle the usage error
the way they used to.

Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/credential.c
builtin/fetch-pack.c
builtin/unpack-file.c
builtin/upload-archive.c
builtin/var.c