]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/help.c: add list_common_guides_help() function
authorPhilip Oakley <philipoakley@iee.org>
Tue, 2 Apr 2013 22:39:51 +0000 (23:39 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Apr 2013 01:09:30 +0000 (18:09 -0700)
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>
builtin/help.c

index 03d432b19e9740e4e383d8f58136e3428b23d5ec..034c36c254c3d4321ce6ef97adfe59dcae73bb2e 100644 (file)
@@ -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));