From: Philip Oakley <philipoakley@iee.org>
Date: Tue, 2 Apr 2013 22:39:51 +0000 (+0100)
Subject: builtin/help.c: add list_common_guides_help() function
X-Git-Tag: v1.8.3-rc0~83^2~2
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=002b726a400a1dea16c0b59ae61527a1e55799fb;p=git

builtin/help.c: add list_common_guides_help() function

This implements what "help -g" introduced in the previous step does.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

diff --git a/builtin/help.c b/builtin/help.c
index 03d432b19e..034c36c254 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -415,6 +415,37 @@ static void show_html_page(const char *git_cmd)
 	open_html(page_path.buf);
 }
 
+static struct {
+	const char *name;
+	const char *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"},
+};
+
+static 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:\n"));
+	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));
+	}
+	putchar('\n');
+}
+
 int cmd_help(int argc, const char **argv, const char *prefix)
 {
 	int nongit;
@@ -432,9 +463,8 @@ int cmd_help(int argc, const char **argv, const char *prefix)
 		list_commands(colopts, &main_cmds, &other_cmds);
 	}
 
-	if (show_guides) {
-		/* do action - next patch */
-	}
+	if (show_guides)
+		list_common_guides_help();
 
 	if (show_all || show_guides) {
 		printf("%s\n", _(git_more_info_string));