git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 5/9] help: correct logic error in combining --all and --guides

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 21, 2021, 22:40 UTC
Message-ID
<patch-v3-5.9-bf3ac71f256-20210921T223223Z-avarab@gmail.com>
In-Reply-To
<cover-v3-0.9-00000000000-20210921T223223Z-avarab@gmail.com>

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>
---
 builtin/help.c  | 4 ++++
 t/t0012-help.sh | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/builtin/help.c b/builtin/help.c
index d0c9605dbb5..30f160a4669 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 b4ed6229ed8..69e385d3b66 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" '
-- 
2.33.0.1098.gf02a64c1a2d
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 39 of 45 in “help: fix usage nits & bugs, completion shellscript->C”
  1. 0/6 help: fix usage nits & bugs, completion shellscript->CÆvar Arnfjörð Bjarmason, Sep 8, 2021
  2. 1/6 help: correct the usage string in -h and documentationÆvar Arnfjörð Bjarmason, Sep 8, 2021
  3. 2/6 help: correct usage string for "git help --guides"Ævar Arnfjörð Bjarmason, Sep 8, 2021
  4. 3/6 help tests: add test for --config outputÆvar Arnfjörð Bjarmason, Sep 8, 2021
  5. 4/6 help: refactor "for_human" control flow in cmd_help()Ævar Arnfjörð Bjarmason, Sep 8, 2021
  6. Eric SunshineSep 8, 2021
  7. Junio C HamanoSep 8, 2021
  8. Ævar Arnfjörð BjarmasonSep 8, 2021
  9. 5/6 help: correct logic error in combining --all and --configÆvar Arnfjörð Bjarmason, Sep 8, 2021
  10. Eric SunshineSep 8, 2021
  11. Ævar Arnfjörð BjarmasonSep 8, 2021
  12. Eric SunshineSep 10, 2021
  13. Ævar Arnfjörð BjarmasonSep 10, 2021
  14. 6/6 help / completion: make "git help" do the hard workÆvar Arnfjörð Bjarmason, Sep 8, 2021
  15. 0/5 help: fix usage nits & bugs, completion shellscript->CÆvar Arnfjörð Bjarmason, Sep 10, 2021
  16. 1/5 help: correct the usage string in -h and documentationÆvar Arnfjörð Bjarmason, Sep 10, 2021
  17. Junio C HamanoSep 11, 2021
  18. Ævar Arnfjörð BjarmasonSep 11, 2021
  19. 2/5 help: correct usage & behavior of "git help --guides"Ævar Arnfjörð Bjarmason, Sep 10, 2021
  20. Philip OakleySep 10, 2021
  21. Philip OakleySep 10, 2021
  22. Ævar Arnfjörð BjarmasonSep 21, 2021
  23. Philip OakleySep 21, 2021
  24. Junio C HamanoSep 11, 2021
  25. 3/5 help tests: add test for --config outputÆvar Arnfjörð Bjarmason, Sep 10, 2021
  26. Junio C HamanoSep 11, 2021
  27. Ævar Arnfjörð BjarmasonSep 11, 2021
  28. Philip OakleySep 13, 2021
  29. 4/5 help: correct logic error in combining --all and --configÆvar Arnfjörð Bjarmason, Sep 10, 2021
  30. Junio C HamanoSep 10, 2021
  31. 5/5 help / completion: make "git help" do the hard workÆvar Arnfjörð Bjarmason, Sep 10, 2021
  32. Junio C HamanoSep 11, 2021
  33. 0/9 help: fix usage nits & bugs, completion shellscript->CÆvar Arnfjörð Bjarmason, Sep 21, 2021
  34. 1/9 help: correct the usage string in -h and documentationÆvar Arnfjörð Bjarmason, Sep 21, 2021
  35. 2/9 help: correct usage & behavior of "git help --guides"Ævar Arnfjörð Bjarmason, Sep 21, 2021
  36. Junio C HamanoSep 23, 2021
  37. 3/9 help tests: add test for --config outputÆvar Arnfjörð Bjarmason, Sep 21, 2021
  38. 4/9 help: correct logic error in combining --all and --configÆvar Arnfjörð Bjarmason, Sep 21, 2021
  39. 5/9 help: correct logic error in combining --all and --guidesÆvar Arnfjörð Bjarmason, Sep 21, 2021
  40. 6/9 help: simplify by moving to OPT_CMDMODE()Ævar Arnfjörð Bjarmason, Sep 21, 2021
  41. Junio C HamanoSep 23, 2021
  42. Junio C HamanoSep 23, 2021
  43. 7/9 help tests: test --config-for-completion option & outputÆvar Arnfjörð Bjarmason, Sep 21, 2021
  44. 9/9 help: move column config discovery to help.c libraryÆvar Arnfjörð Bjarmason, Sep 21, 2021
  45. 8/9 help / completion: make "git help" do the hard workÆvar Arnfjörð Bjarmason, Sep 21, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.