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

[PATCH 05/13] Help.c: add list_common_guides_help() function

From
Philip Oakley <philipoakley@iee.org>
Date
Feb 23, 2013, 23:05 UTC
Message-ID
<1361660761-1932-6-git-send-email-philipoakley@iee.org>
In-Reply-To
<1361660761-1932-1-git-send-email-philipoakley@iee.org>

Re-use list_common_cmds_help but simply change the array name. Candidate for future refactoring to pass a pointer to the array.

Do not list User-manual and Everday Git which not follow the naming convention, nor gitrepository-layout which doesn't fit within the name field size

Signed-off-by: Philip Oakley <philipoakley@iee.org>
---
 builtin/help.c  |  1 +
 common-guides.h | 12 ++++++++++++
 help.c          | 18 ++++++++++++++++++
 help.h          |  1 +
 4 files changed, 32 insertions(+)
 create mode 100644 common-guides.h
diff --git a/builtin/help.c b/builtin/help.c
index 699e679..b0746af 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -434,6 +434,7 @@ int cmd_help(int argc, const char **argv, const char *prefix)
 		if (!show_guides) return 0;
 	}
 	if (show_guides) {
+		list_common_guides_help();
 		return 0;
 	}
 	if (!argv[0]) {
diff --git a/common-guides.h b/common-guides.h
new file mode 100644
index 0000000..a8ad8d1
--- /dev/null
+++ b/common-guides.h
@@ -0,0 +1,12 @@
+/* Automatically generated by ./generate-guidelist.sh */
+/* re-use struct cmdname_help in common-commands.h */
+
+static struct cmdname_help common_guides[] = {
+  {"attributes", "defining attributes per path"},
+  {"glossary", "A GIT Glossary"},
+  {"ignore", "Specifies intentionally untracked files to ignore"},
+  {"modules", "defining submodule properties"},
+  {"revisions", "specifying revisions and ranges for git"},
+  {"tutorial", "A tutorial introduction to git (for version 1.5.1 or newer)"},
+  {"workflows", "An overview of recommended workflows with git"},
+};
diff --git a/help.c b/help.c
index 1c0e17d..94df446 100644
--- a/help.c
+++ b/help.c
@@ -4,6 +4,7 @@
 #include "levenshtein.h"
 #include "help.h"
 #include "common-cmds.h"
+#include "common-guides.h"
 #include "string-list.h"
 #include "column.h"
 #include "version.h"
@@ -240,6 +241,23 @@ void list_common_cmds_help(void)
 	}
 }
 
+void list_common_guides_help(void)
+{
+	int i, longest = 0;
+
+	for (i = 0; i < ARRAY_SIZE(common_guides); i++) {
+		if (longest < strlen(common_guides[i].name))
+			longest = strlen(common_guides[i].name);
+	}
+
+	puts(_("The common Git guides are:"));
+	for (i = 0; i < ARRAY_SIZE(common_guides); i++) {
+		printf("   %s   ", common_guides[i].name);
+		mput_char(' ', longest - strlen(common_guides[i].name));
+		puts(_(common_guides[i].help));
+	}
+}
+
 int is_in_cmdlist(struct cmdnames *c, const char *s)
 {
 	int i;
diff --git a/help.h b/help.h
index 0ae5a12..4ae1fd7 100644
--- a/help.h
+++ b/help.h
@@ -17,6 +17,7 @@ static inline void mput_char(char c, unsigned int num)
 }
 
 extern void list_common_cmds_help(void);
+extern void list_common_guides_help(void);
 extern const char *help_unknown_cmd(const char *cmd);
 extern void load_command_list(const char *prefix,
 			      struct cmdnames *main_cmds,
-- 
1.8.1.msysgit.1
Previous: Philip OakleyNext: Junio C Hamano
Message 13 of 37 in “Git help option to list user guides”
  1. 00/13 Git help option to list user guidesPhilip Oakley, Feb 23, 2013
  2. 01/13 Use 'Git' in help messagesPhilip Oakley, Feb 23, 2013
  3. David AguilarFeb 23, 2013
  4. Philip OakleyFeb 23, 2013
  5. Junio C HamanoFeb 24, 2013
  6. Philip OakleyFeb 24, 2013
  7. David AguilarFeb 24, 2013
  8. 02/13 Show 'git help <guide>' usage, with examplesPhilip Oakley, Feb 23, 2013
  9. W. Trevor KingFeb 24, 2013
  10. Philip OakleyFeb 24, 2013
  11. 03/13 Help.c use OPT_COUNTUPPhilip Oakley, Feb 23, 2013
  12. 04/13 Help.c add --guide optionPhilip Oakley, Feb 23, 2013
  13. 05/13 Help.c: add list_common_guides_help() functionPhilip Oakley, Feb 23, 2013
  14. Junio C HamanoFeb 24, 2013
  15. Philip OakleyFeb 24, 2013
  16. Junio C HamanoFeb 25, 2013
  17. Philip OakleyFeb 25, 2013
  18. Junio C HamanoFeb 25, 2013
  19. 06/13 Add guide-list.txt and extraction shellPhilip Oakley, Feb 23, 2013
  20. W. Trevor KingFeb 24, 2013
  21. Philip OakleyFeb 24, 2013
  22. 07/13 Extend name string for longer namesPhilip Oakley, Feb 23, 2013
  23. 09/13 Rename everyday to giteverydayPhilip Oakley, Feb 23, 2013
  24. W. Trevor KingFeb 24, 2013
  25. Philip OakleyFeb 24, 2013
  26. 10/13 Update Git(1) links to guidesPhilip Oakley, Feb 23, 2013
  27. 11/13 Add missing guides to list and regeneratePhilip Oakley, Feb 23, 2013
  28. 12/13 Documentation/Makefile: update git guide linksPhilip Oakley, Feb 23, 2013
  29. W. Trevor KingFeb 24, 2013
  30. Philip OakleyFeb 24, 2013
  31. Junio C HamanoFeb 25, 2013
  32. Philip OakleyFeb 25, 2013
  33. Junio C HamanoFeb 26, 2013
  34. Philip OakleyFeb 26, 2013
  35. 13/13 Fixup! doc: giteveryday and user-manual man formatPhilip Oakley, Feb 23, 2013
  36. W. Trevor KingFeb 24, 2013
  37. Philip OakleyFeb 24, 2013

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.