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

[PATCH v7 02/10] help.c: remove common category behavior from drop_prefix() behavior

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 2, 2022, 12:56 UTC
Message-ID
<patch-v7-02.10-56429194634-20220802T125258Z-avarab@gmail.com>
In-Reply-To
<cover-v7-00.10-00000000000-20220802T125258Z-avarab@gmail.com>

Change the behavior of the "git" prefix stripping for CAT_guide so that we don't try to strip the "git-" prefix in that case. We should be stripping either "git" or "git-" depending on the category. This change makes it easier to add extra "category" conditions in subsequent commits.

Before this we'd in principle strip a "git-" prefix from a "guide" in command-list.txt, in practice we have no such entry there. As we don't have any entry that looks like "git-gitfoo" in command-list.txt this changes nothing in practice, but it makes the intent of the code clearer.

When this code was added in cfb22a02ab5 (help: use command-list.h for common command list, 2018-05-10) the only entries in command-list.txt that didn't begin with "git-" were "gitweb" and "gitk".

Then when the "guides" special-case was added in 1b81d8cb19d (help: use command-list.txt for the source of guides, 2018-05-20) we had the various "git" (not "git-") prefixed "guide" entries, which the "CAT_guide" case handles.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 help.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/help.c b/help.c
index 7e594d291b0..8a09f18a3d9 100644
--- a/help.c
+++ b/help.c
@@ -44,16 +44,17 @@ static struct category_description main_categories[] = {
 static const char *drop_prefix(const char *name, uint32_t category)
 {
 	const char *new_name;
-	const char *prefix = NULL;
+	const char *prefix;
 
-	if (skip_prefix(name, "git-", &new_name))
-		return new_name;
 	switch (category) {
 	case CAT_guide:
 		prefix = "git";
 		break;
+	default:
+		prefix = "git-";
+		break;
 	}
-	if (prefix && skip_prefix(name, prefix, &new_name))
+	if (skip_prefix(name, prefix, &new_name))
 		return new_name;
 
 	return name;
-- 
2.37.1.1232.gc0cde427aa7
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 67 of 112 in “git(1) doc + "git help": split-out user & git format docs”
  1. 0/2 git(1) doc + "git help": split-out user & git format docsÆvar Arnfjörð Bjarmason, Oct 15, 2021
  2. 1/2 git(1) docs: split "User-facing file formats" off from "Guides"Ævar Arnfjörð Bjarmason, Oct 15, 2021
  3. 2/2 git(1) docs: create a "Git file and wire formats" sectionÆvar Arnfjörð Bjarmason, Oct 15, 2021
  4. 0/5 git doc + "git help": move "format" docs from technical/*Ævar Arnfjörð Bjarmason, Dec 12, 2021
  5. 1/5 git docs: split "User-facing file formats" off from "Guides"Ævar Arnfjörð Bjarmason, Dec 12, 2021
  6. 2/5 git docs: create a "Git file and wire formats" sectionÆvar Arnfjörð Bjarmason, Dec 12, 2021
  7. Eric SunshineDec 12, 2021
  8. Ævar Arnfjörð BjarmasonDec 13, 2021
  9. 3/5 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Dec 12, 2021
  10. 4/5 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Dec 12, 2021
  11. 5/5 docs: move {index,signature,bitmap,chunk}-format docs to man section 5Ævar Arnfjörð Bjarmason, Dec 12, 2021
  12. 0/7 git doc + "git help": move "format" docs from technical/*Ævar Arnfjörð Bjarmason, Jul 12, 2022
  13. 1/7 git docs: split "User-facing file formats" off from "Guides"Ævar Arnfjörð Bjarmason, Jul 12, 2022
  14. Ævar Arnfjörð BjarmasonJul 13, 2022
  15. 2/7 git docs: create a "Git file formats and protocols" sectionÆvar Arnfjörð Bjarmason, Jul 12, 2022
  16. 3/7 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 12, 2022
  17. 4/7 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Jul 12, 2022
  18. 5/7 docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 12, 2022
  19. 6/7 docs: move http-protocol docs to man section 5Ævar Arnfjörð Bjarmason, Jul 12, 2022
  20. 7/7 docs: move multi-pack-index docs to man section 5Ævar Arnfjörð Bjarmason, Jul 12, 2022
  21. 0/8 git doc + "git help": move "format" docs from technical/*Ævar Arnfjörð Bjarmason, Jul 18, 2022
  22. 1/8 help.c: BUG() out if "help --guides" can't remove "git" prefixesÆvar Arnfjörð Bjarmason, Jul 18, 2022
  23. Junio C HamanoJul 18, 2022
  24. 2/8 git docs: split "User-facing file formats" off from "Guides"Ævar Arnfjörð Bjarmason, Jul 18, 2022
  25. Junio C HamanoJul 18, 2022
  26. Ævar Arnfjörð BjarmasonJul 18, 2022
  27. Junio C HamanoJul 19, 2022
  28. Ævar Arnfjörð BjarmasonJul 21, 2022
  29. 3/8 git docs: create a "Git file formats and protocols" sectionÆvar Arnfjörð Bjarmason, Jul 18, 2022
  30. 4/8 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 18, 2022
  31. 5/8 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Jul 18, 2022
  32. 7/8 docs: move http-protocol docs to man section 5Ævar Arnfjörð Bjarmason, Jul 18, 2022
  33. 8/8 docs: move multi-pack-index docs to man section 5Ævar Arnfjörð Bjarmason, Jul 18, 2022
  34. 6/8 docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 18, 2022
  35. Junio C HamanoJul 18, 2022
  36. Ævar Arnfjörð BjarmasonJul 18, 2022
  37. Ævar Arnfjörð BjarmasonJul 21, 2022
  38. 0/9 docs: create & use "(user|developer) interfaces" categoriesÆvar Arnfjörð Bjarmason, Jul 21, 2022
  39. 1/9 help.c: BUG() out if "help --guides" can't remove "git" prefixesÆvar Arnfjörð Bjarmason, Jul 21, 2022
  40. 2/9 git help doc: use "<doc>" instead of "<guide>"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  41. 3/9 git docs: add a category for user-facing file, repo and command UXÆvar Arnfjörð Bjarmason, Jul 21, 2022
  42. 4/9 git docs: add a category for file formats, protocols and interfacesÆvar Arnfjörð Bjarmason, Jul 21, 2022
  43. Eric SunshineJul 21, 2022
  44. 5/9 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 21, 2022
  45. 6/9 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Jul 21, 2022
  46. 7/9 docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 21, 2022
  47. 8/9 docs: move http-protocol docs to man section 5Ævar Arnfjörð Bjarmason, Jul 21, 2022
  48. 9/9 docs: move multi-pack-index docs to man section 5Ævar Arnfjörð Bjarmason, Jul 21, 2022
  49. Junio C HamanoJul 21, 2022
  50. 0/9 docs: create & use "(user|developer) interfaces" categoriesÆvar Arnfjörð Bjarmason, Jul 28, 2022
  51. 1/9 help.c: BUG() out if "help --guides" can't remove "git" prefixesÆvar Arnfjörð Bjarmason, Jul 28, 2022
  52. Junio C HamanoJul 30, 2022
  53. Ævar Arnfjörð BjarmasonAug 1, 2022
  54. Junio C HamanoAug 1, 2022
  55. 2/9 git help doc: use "<doc>" instead of "<guide>"Ævar Arnfjörð Bjarmason, Jul 28, 2022
  56. 3/9 git docs: add a category for user-facing file, repo and command UXÆvar Arnfjörð Bjarmason, Jul 28, 2022
  57. 4/9 git docs: add a category for file formats, protocols and interfacesÆvar Arnfjörð Bjarmason, Jul 28, 2022
  58. 5/9 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 28, 2022
  59. 6/9 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Jul 28, 2022
  60. 7/9 docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason, Jul 28, 2022
  61. 8/9 docs: move http-protocol docs to man section 5Ævar Arnfjörð Bjarmason, Jul 28, 2022
  62. 9/9 docs: move multi-pack-index docs to man section 5Ævar Arnfjörð Bjarmason, Jul 28, 2022
  63. Junio C HamanoJul 28, 2022
  64. 00/10 docs: create & use "(user|developer) interfaces" categoriesÆvar Arnfjörð Bjarmason, Aug 2, 2022
  65. 01/10 help.c: refactor drop_prefix() to use a "switch" statement"Ævar Arnfjörð Bjarmason, Aug 2, 2022
  66. Junio C HamanoAug 2, 2022
  67. 02/10 help.c: remove common category behavior from drop_prefix() behaviorÆvar Arnfjörð Bjarmason, Aug 2, 2022
  68. 03/10 git help doc: use "<doc>" instead of "<guide>"Ævar Arnfjörð Bjarmason, Aug 2, 2022
  69. 04/10 git docs: add a category for user-facing file, repo and command UXÆvar Arnfjörð Bjarmason, Aug 2, 2022
  70. 05/10 git docs: add a category for file formats, protocols and interfacesÆvar Arnfjörð Bjarmason, Aug 2, 2022
  71. Junio C HamanoAug 2, 2022
  72. 06/10 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Aug 2, 2022
  73. Junio C HamanoAug 3, 2022
  74. 07/10 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Aug 2, 2022
  75. Junio C HamanoAug 3, 2022
  76. Ævar Arnfjörð BjarmasonAug 4, 2022
  77. Junio C HamanoAug 4, 2022
  78. Ævar Arnfjörð BjarmasonAug 5, 2022
  79. 09/10 docs: move http-protocol docs to man section 5Ævar Arnfjörð Bjarmason, Aug 2, 2022
  80. Junio C HamanoAug 3, 2022
  81. 08/10 docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason, Aug 2, 2022
  82. Junio C HamanoAug 3, 2022
  83. 10/10 docs: move multi-pack-index docs to man section 5Ævar Arnfjörð Bjarmason, Aug 2, 2022
  84. Junio C HamanoAug 3, 2022
  85. 00/12 docs: create & use "(user|developer) interfaces" categoriesÆvar Arnfjörð Bjarmason, Aug 4, 2022
  86. 01/12 help.c: refactor drop_prefix() to use a "switch" statement"Ævar Arnfjörð Bjarmason, Aug 4, 2022
  87. Junio C HamanoAug 4, 2022
  88. 02/12 help.c: remove common category behavior from drop_prefix() behaviorÆvar Arnfjörð Bjarmason, Aug 4, 2022
  89. 03/12 git help doc: use "<doc>" instead of "<guide>"Ævar Arnfjörð Bjarmason, Aug 4, 2022
  90. 04/12 git docs: add a category for user-facing file, repo and command UXÆvar Arnfjörð Bjarmason, Aug 4, 2022
  91. 05/12 git docs: add a category for file formats, protocols and interfacesÆvar Arnfjörð Bjarmason, Aug 4, 2022
  92. 06/12 docs: move commit-graph format docs to man section 5Ævar Arnfjörð Bjarmason, Aug 4, 2022
  93. Junio C HamanoAug 4, 2022
  94. SZEDER GáborNov 8, 2022
  95. Ævar Arnfjörð BjarmasonNov 8, 2022
  96. SZEDER GáborNov 8, 2022
  97. Ævar Arnfjörð BjarmasonNov 9, 2022
  98. docs: de-indent first paragraph of gitformat-* to flow the textÆvar Arnfjörð Bjarmason, Nov 21, 2022
  99. Jeff KingNov 21, 2022
  100. Junio C HamanoNov 22, 2022
  101. 08/12 docs: move index format docs to man section 5Ævar Arnfjörð Bjarmason, Aug 4, 2022
  102. Junio C HamanoAug 4, 2022
  103. 09/12 docs: move signature docs to man section 5Ævar Arnfjörð Bjarmason, Aug 4, 2022
  104. Junio C HamanoAug 4, 2022
  105. 07/12 docs: move protocol-related docs to man section 5Ævar Arnfjörð Bjarmason, Aug 4, 2022
  106. 10/12 docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason, Aug 4, 2022
  107. 11/12 docs: move cruft pack docs to gitformat-packÆvar Arnfjörð Bjarmason, Aug 4, 2022
  108. Junio C HamanoAug 4, 2022
  109. Ævar Arnfjörð BjarmasonAug 5, 2022
  110. Junio C HamanoAug 5, 2022
  111. 12/12 docs: move http-protocol docs to man section 5Ævar Arnfjörð Bjarmason, Aug 4, 2022
  112. Junio C HamanoAug 4, 2022

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.