builtin/help.c: split "-a" processing into two

"help -a" (help all) gives the list of available commands and then further gives hints on the use of "git help". Separate these into two steps, because we will add "help -g" (help guides) that want to also show the overall hints after it is done. While at it, change the definition of the "-a" option to use OPT_BOOL, not the deprecated OPT_BOOLEAN. We do not behave differently when the user gives the "-a" option multiple times, e.g. "git help -a -a". Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Philip Oakley committed Apr 2, 2013 at 23:39 UTC 15f7d4943807a50e01d2fd85bcdbd44361808dd2
1 file changed +7 -1
builtin/help.c
+7 -1
@@ -39,7 +39,7 @@ static int show_all = 0;
39 static unsigned int colopts;
40 static enum help_format help_format = HELP_FORMAT_NONE;
41 static struct option builtin_help_options[] = {
42 - OPT_BOOLEAN('a', "all", &show_all, N_("print all available commands")),
42 + OPT_BOOL('a', "all", &show_all, N_("print all available commands")),
43 OPT_SET_INT('m', "man", &help_format, N_("show man page"), HELP_FORMAT_MAN),
44 OPT_SET_INT('w', "web", &help_format, N_("show manual in web browser"),
45 HELP_FORMAT_WEB),
@@ -428,7 +428,13 @@ int cmd_help(int argc, const char **argv, const char *prefix)
428 git_config(git_help_config, NULL);
429 printf(_("usage: %s%s"), _(git_usage_string), "\n\n");
430 list_commands(colopts, &main_cmds, &other_cmds);
431 + }
432 +
433 + if (show_all) {
434 printf("%s\n", _(git_more_info_string));
435 + /*
436 + * We're done. Ignore any remaining args
437 + */
438 return 0;
439 }
440