Browse Source

help: correct usage & behavior of "git help --all"

Do the same for the "--all" option that I did for "--guides" in
9856ea6785 (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 62f035aee3 (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>
maint
Ævar Arnfjörð Bjarmason 3 years ago committed by Junio C Hamano
parent
commit
5e8068b74d
  1. 5
      Documentation/git-help.txt
  2. 5
      builtin/help.c
  3. 3
      t/t0012-help.sh

5
Documentation/git-help.txt

@ -9,7 +9,7 @@ SYNOPSIS @@ -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]

@ -46,8 +46,7 @@ OPTIONS @@ -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

5
builtin/help.c

@ -75,8 +75,8 @@ static struct option builtin_help_options[] = { @@ -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
@ -594,6 +594,7 @@ int cmd_help(int argc, const char **argv, const char *prefix) @@ -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();

3
t/t0012-help.sh

@ -35,6 +35,9 @@ test_expect_success 'basic help commands' ' @@ -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 &&


Loading…
Cancel
Save