Re: [PATCH v3 6/6] builtin: send usage() help text to standard output
From: Junio C Hamano <hidden>
Date: 2025-01-16 17:30:59
Junio C Hamano [off-list ref] writes:
Using the show_usage_and_exit_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. These are the bog standard "if we got only '-h', then that is a request for help" callers. Their if (argc == 2 && !strcmp(argv[1], "-h")) usage(message); are simply replaced with show_usage_and_exit_if_asked(argc, argv, message); ...
The above is a bit of a lie. There is one strange thing I did, which needs to be redone.
quoted hunk
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index bed2816c2d..9bd4b29c5b 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c@@ -176,6 +176,9 @@ int cmd_fetch_pack(int argc, list_objects_filter_set_no_filter(&args.filter_options); continue; } + + if (!strcmp(arg, "-h")) + show_usage_and_exit_if_asked(2, &arg - 1, fetch_pack_usage); usage(fetch_pack_usage); } if (deepen_not.nr)
I think we should just call show_usage_and_exit_if_asked() before entering the loop without changing anything else.