mirror of
https://github.com/git/git.git
synced 2025-01-26 09:24:14 +08:00
parse-options: never suppress arghelp if LITERAL_ARGHELP is set
The PARSE_OPT_LITERAL_ARGHELP flag allows a program to override the standard "<argument> for mandatory, [argument] for optional" markup in its help message. Extend it to override the usual "no text for disallowed", too (for the PARSE_OPT_NOARG | PARSE_OPT_LITERAL_ARGHELP case, which was previously meaningless), to be more intuitive. The motivation is to allow update-index to correctly advertise --cacheinfo <mode> <object> <path> add the specified entry to the index while abusing PARSE_OPT_NOARG to disallow the "sticked form" --cacheinfo=<mode> <object> <path> Noticed-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c1f4ec9ef4
commit
b57c68a69e
@ -537,7 +537,8 @@ static int usage_with_options_internal(struct parse_opt_ctx_t *ctx,
|
||||
if (opts->type == OPTION_NUMBER)
|
||||
pos += fprintf(outfile, "-NUM");
|
||||
|
||||
if (!(opts->flags & PARSE_OPT_NOARG))
|
||||
if ((opts->flags & PARSE_OPT_LITERAL_ARGHELP) ||
|
||||
!(opts->flags & PARSE_OPT_NOARG))
|
||||
pos += usage_argh(opts, outfile);
|
||||
|
||||
if (pos <= USAGE_OPTS_WIDTH)
|
||||
|
Loading…
Reference in New Issue
Block a user