summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-09-21 22:40:35 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-09-23 17:30:43 (GMT)
commit0a5940fbe7e453652266e765509a576e4df333c7 (patch)
tree081787ae01a986a0a397429907f66984b6fb5ac6
parent1ed4bef6b438d25ce605f6bdefb4c98569dad137 (diff)
downloadgit-0a5940fbe7e453652266e765509a576e4df333c7.zip
git-0a5940fbe7e453652266e765509a576e4df333c7.tar.gz
git-0a5940fbe7e453652266e765509a576e4df333c7.tar.bz2
help: correct logic error in combining --all and --guides
The --all and --guides commands could be combined, which wouldn't have any impact on the output except for: git help --all --guides --no-verbose Listing the guide alongside that output was clearly not intended, so let's error out here. See 002b726a400 (builtin/help.c: add list_common_guides_help() function, 2013-04-02) for the initial implementation. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/help.c4
-rwxr-xr-xt/t0012-help.sh7
2 files changed, 10 insertions, 1 deletions
diff --git a/builtin/help.c b/builtin/help.c
index d0c9605..30f160a 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -559,6 +559,10 @@ int cmd_help(int argc, const char **argv, const char *prefix)
usage_msg_opt(_("--config and --all cannot be combined"),
builtin_help_usage, builtin_help_options);
+ if (show_all && show_guides)
+ usage_msg_opt(_("--config and --guides cannot be combined"),
+ builtin_help_usage, builtin_help_options);
+
if (show_config && show_guides)
usage_msg_opt(_("--config and --guides cannot be combined"),
builtin_help_usage, builtin_help_options);
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
index b4ed622..69e385d 100755
--- a/t/t0012-help.sh
+++ b/t/t0012-help.sh
@@ -36,7 +36,12 @@ test_expect_success 'basic help commands' '
test_expect_success 'invalid usage' '
test_expect_code 129 git help -g add &&
- test_expect_code 129 git help -a -c
+ test_expect_code 129 git help -a -c &&
+
+ test_expect_code 129 git help -g add &&
+ test_expect_code 129 git help -a -g &&
+
+ test_expect_code 129 git help -g -c
'
test_expect_success "works for commands and guides by default" '