Merge branch 'rs/parseopt-short-help'
Make "-h" command line option work more consistently in all commands. * rs/parseopt-short-help: show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP grep: stop using PARSE_OPT_NO_INTERNAL_HELP parse-options: allow -h as a short option parse-options: inline parse_options_usage() at its only remaining caller parse-options: deduplicate parse_options_usage() calls
This commit is contained in:
@ -612,11 +612,6 @@ static int pattern_callback(const struct option *opt, const char *arg,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int help_callback(const struct option *opt, const char *arg, int unset)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int cmd_grep(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
int hit = 0;
|
||||
@ -738,18 +733,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
||||
PARSE_OPT_OPTARG, NULL, (intptr_t)default_pager },
|
||||
OPT_BOOL(0, "ext-grep", &external_grep_allowed__ignored,
|
||||
N_("allow calling of grep(1) (ignored by this build)")),
|
||||
{ OPTION_CALLBACK, 0, "help-all", NULL, NULL, N_("show usage"),
|
||||
PARSE_OPT_HIDDEN | PARSE_OPT_NOARG, help_callback },
|
||||
OPT_END()
|
||||
};
|
||||
|
||||
/*
|
||||
* 'git grep -h', unlike 'git grep -h <pattern>', is a request
|
||||
* to show usage information and exit.
|
||||
*/
|
||||
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||
usage_with_options(grep_usage, options);
|
||||
|
||||
init_grep_defaults();
|
||||
git_config(grep_cmd_config, NULL);
|
||||
grep_init(&opt, prefix);
|
||||
@ -766,8 +752,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
||||
*/
|
||||
argc = parse_options(argc, argv, prefix, options, grep_usage,
|
||||
PARSE_OPT_KEEP_DASHDASH |
|
||||
PARSE_OPT_STOP_AT_NON_OPTION |
|
||||
PARSE_OPT_NO_INTERNAL_HELP);
|
||||
PARSE_OPT_STOP_AT_NON_OPTION);
|
||||
grep_commit_pattern_type(pattern_type_arg, &opt);
|
||||
|
||||
if (use_index && !startup_info->have_repository)
|
||||
|
@ -161,11 +161,6 @@ static int exclude_existing_callback(const struct option *opt, const char *arg,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int help_callback(const struct option *opt, const char *arg, int unset)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static const struct option show_ref_options[] = {
|
||||
OPT_BOOL(0, "tags", &tags_only, N_("only show tags (can be combined with heads)")),
|
||||
OPT_BOOL(0, "heads", &heads_only, N_("only show heads (can be combined with tags)")),
|
||||
@ -186,18 +181,13 @@ static const struct option show_ref_options[] = {
|
||||
{ OPTION_CALLBACK, 0, "exclude-existing", &exclude_existing_arg,
|
||||
N_("pattern"), N_("show refs from stdin that aren't in local repository"),
|
||||
PARSE_OPT_OPTARG | PARSE_OPT_NONEG, exclude_existing_callback },
|
||||
{ OPTION_CALLBACK, 0, "help-all", NULL, NULL, N_("show usage"),
|
||||
PARSE_OPT_HIDDEN | PARSE_OPT_NOARG, help_callback },
|
||||
OPT_END()
|
||||
};
|
||||
|
||||
int cmd_show_ref(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||
usage_with_options(show_ref_usage, show_ref_options);
|
||||
|
||||
argc = parse_options(argc, argv, prefix, show_ref_options,
|
||||
show_ref_usage, PARSE_OPT_NO_INTERNAL_HELP);
|
||||
show_ref_usage, 0);
|
||||
|
||||
if (exclude_arg)
|
||||
return exclude_existing(exclude_existing_arg);
|
||||
|
Reference in New Issue
Block a user