зеркало из https://github.com/microsoft/git.git
help: correct usage & behavior of "git help --guides"
As noted in65f98358c0
(builtin/help.c: add --guide option, 2013-04-02) anda133737b80
(doc: include --guide option description for "git help", 2013-04-02) which introduced the --guide option, it cannot be combined with e.g. <command>. Change the command and the "SYNOPSIS" section to reflect that desired behavior. Now that we assert this in code we don't need to exhaustively describe the previous confusing behavior in the documentation either, instead of silently ignoring the provided argument we'll now error out. The "We're done. Ignore any remaining args" comment added in15f7d49438
(builtin/help.c: split "-a" processing into two, 2013-04-02) can now be removed, it's obvious that we're asserting the behavior with the check of "argc". The "--config" option is still missing from the synopsis, it will be added in a subsequent commit where we'll fix bugs in its implementation. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b40845293b
Коммит
9856ea6785
|
@ -8,8 +8,9 @@ git-help - Display help information about Git
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git help' [-a|--all [--[no-]verbose]] [-g|--guides]
|
'git help' [-a|--all [--[no-]verbose]]
|
||||||
[[-i|--info] [-m|--man] [-w|--web]] [COMMAND|GUIDE]
|
[[-i|--info] [-m|--man] [-w|--web]] [COMMAND|GUIDE]
|
||||||
|
'git help' [-g|--guides]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -58,8 +59,7 @@ OPTIONS
|
||||||
|
|
||||||
-g::
|
-g::
|
||||||
--guides::
|
--guides::
|
||||||
Prints a list of the Git concept guides on the standard output. This
|
Prints a list of the Git concept guides on the standard output.
|
||||||
option overrides any given command or guide name.
|
|
||||||
|
|
||||||
-i::
|
-i::
|
||||||
--info::
|
--info::
|
||||||
|
|
|
@ -59,8 +59,9 @@ static struct option builtin_help_options[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const builtin_help_usage[] = {
|
static const char * const builtin_help_usage[] = {
|
||||||
N_("git help [-a|--all] [-g|--guides] [--[no-]verbose]]\n"
|
N_("git help [-a|--all] [--[no-]verbose]]\n"
|
||||||
" [[-i|--info] [-m|--man] [-w|--web]] [<command>]"),
|
" [[-i|--info] [-m|--man] [-w|--web]] [<command>]"),
|
||||||
|
N_("git help [-g|--guides]"),
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -552,6 +553,11 @@ int cmd_help(int argc, const char **argv, const char *prefix)
|
||||||
builtin_help_usage, 0);
|
builtin_help_usage, 0);
|
||||||
parsed_help_format = help_format;
|
parsed_help_format = help_format;
|
||||||
|
|
||||||
|
/* Options that take no further arguments */
|
||||||
|
if (argc && show_guides)
|
||||||
|
usage_msg_opt(_("--guides cannot be combined with other options"),
|
||||||
|
builtin_help_usage, builtin_help_options);
|
||||||
|
|
||||||
if (show_all) {
|
if (show_all) {
|
||||||
git_config(git_help_config, NULL);
|
git_config(git_help_config, NULL);
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
|
@ -582,9 +588,6 @@ int cmd_help(int argc, const char **argv, const char *prefix)
|
||||||
|
|
||||||
if (show_all || show_guides) {
|
if (show_all || show_guides) {
|
||||||
printf("%s\n", _(git_more_info_string));
|
printf("%s\n", _(git_more_info_string));
|
||||||
/*
|
|
||||||
* We're done. Ignore any remaining args
|
|
||||||
*/
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,10 @@ test_expect_success 'basic help commands' '
|
||||||
git help -a >/dev/null
|
git help -a >/dev/null
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'invalid usage' '
|
||||||
|
test_expect_code 129 git help -g add
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success "works for commands and guides by default" '
|
test_expect_success "works for commands and guides by default" '
|
||||||
configure_help &&
|
configure_help &&
|
||||||
git help status &&
|
git help status &&
|
||||||
|
|
Загрузка…
Ссылка в новой задаче