summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/git-help.txt6
-rw-r--r--builtin/help.c11
-rwxr-xr-xt/t0012-help.sh4
3 files changed, 14 insertions, 7 deletions
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 568a0b606f..cb8e3d4da9 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -8,8 +8,9 @@ git-help - Display help information about Git
SYNOPSIS
--------
[verse]
-'git help' [-a|--all [--[no-]verbose]] [-g|--guides]
+'git help' [-a|--all [--[no-]verbose]]
[[-i|--info] [-m|--man] [-w|--web]] [COMMAND|GUIDE]
+'git help' [-g|--guides]
DESCRIPTION
-----------
@@ -58,8 +59,7 @@ OPTIONS
-g::
--guides::
- Prints a list of the Git concept guides on the standard output. This
- option overrides any given command or guide name.
+ Prints a list of the Git concept guides on the standard output.
-i::
--info::
diff --git a/builtin/help.c b/builtin/help.c
index 44ea2798cd..51b18c291d 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -59,8 +59,9 @@ static struct option builtin_help_options[] = {
};
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>]"),
+ N_("git help [-g|--guides]"),
NULL
};
@@ -552,6 +553,11 @@ int cmd_help(int argc, const char **argv, const char *prefix)
builtin_help_usage, 0);
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) {
git_config(git_help_config, NULL);
if (verbose) {
@@ -582,9 +588,6 @@ int cmd_help(int argc, const char **argv, const char *prefix)
if (show_all || show_guides) {
printf("%s\n", _(git_more_info_string));
- /*
- * We're done. Ignore any remaining args
- */
return 0;
}
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
index 5679e29c62..0525ec3ee5 100755
--- a/t/t0012-help.sh
+++ b/t/t0012-help.sh
@@ -34,6 +34,10 @@ test_expect_success 'basic help commands' '
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" '
configure_help &&
git help status &&