Skip to content

Commit

Permalink
help: correct usage & behavior of "git help --all"
Browse files Browse the repository at this point in the history
Do the same for the "--all" option that I did for "--guides" in
9856ea6 (help: correct usage & behavior of "git help --guides",
2021-09-22). I.e. we've documented it as ignoring non-option
arguments, let's have it error out instead.

As with other changes made in 62f035a (Merge branch
'ab/help-config-vars', 2021-10-13) this is technically a change in
behavior, but in practice it's just a bug fix. We were ignoring this
before, but by erroring we can simplify our documentation and
synopsis, as well as avoid user confusion as they wonder what the
difference between e.g. "git help --all" and "git help --all status"
is (there wasn't any difference).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
avar authored and gitster committed Feb 23, 2022
1 parent d7f817d commit 5e8068b
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
5 changes: 2 additions & 3 deletions Documentation/git-help.txt
Expand Up @@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
'git help' [-a|--all] [--[no-]verbose]
[[-i|--info] [-m|--man] [-w|--web]] [<command>|<guide>]
'git help' [[-i|--info] [-m|--man] [-w|--web]] [<command>|<guide>]
'git help' [-g|--guides]
'git help' [-c|--config]

Expand Down Expand Up @@ -46,8 +46,7 @@ OPTIONS
-------
-a::
--all::
Prints all the available commands on the standard output. This
option overrides any given command or guide name.
Prints all the available commands on the standard output.

--verbose::
When used with `--all` print description for all recognized
Expand Down
5 changes: 3 additions & 2 deletions builtin/help.c
Expand Up @@ -75,8 +75,8 @@ static struct option builtin_help_options[] = {
};

static const char * const builtin_help_usage[] = {
N_("git help [-a|--all] [--[no-]verbose]]\n"
" [[-i|--info] [-m|--man] [-w|--web]] [<command>]"),
N_("git help [-a|--all] [--[no-]verbose]]"),
N_("git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"),
N_("git help [-g|--guides]"),
N_("git help [-c|--config]"),
NULL
Expand Down Expand Up @@ -594,6 +594,7 @@ int cmd_help(int argc, const char **argv, const char *prefix)

switch (cmd_mode) {
case HELP_ACTION_ALL:
opt_mode_usage(argc, "--all");
if (verbose) {
setup_pager();
list_all_cmds_help();
Expand Down
3 changes: 3 additions & 0 deletions t/t0012-help.sh
Expand Up @@ -35,6 +35,9 @@ test_expect_success 'basic help commands' '
'

test_expect_success 'invalid usage' '
test_expect_code 129 git help -a add &&
test_expect_code 129 git help --all add &&
test_expect_code 129 git help -g add &&
test_expect_code 129 git help -a -c &&
Expand Down

0 comments on commit 5e8068b

Please sign in to comment.