diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2010-01-09 06:10:05 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-09 23:42:48 -0800 |
commit | 3caa82396ca8a78da05f7759570444e9a666b2e8 (patch) | |
tree | cafbaa8fbf137ba6372a02c0ae7ac8b79be55ac0 | |
parent | 0afcb5f7915337c76c6743dab70c49facdeddd7e (diff) | |
download | git-3caa82396ca8a78da05f7759570444e9a666b2e8.tar.gz git-3caa82396ca8a78da05f7759570444e9a666b2e8.tar.xz |
help: fix configured help format taking over command line one
Since commit 7c3baa9 (help -a: do not unnecessarily look for a
repository, 2009-09-04), the help format that is passed as a
command line option is not used if an help format has been
configured. This patch fixes that.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-help.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/builtin-help.c b/builtin-help.c index 09ad4b04f..3182a2bec 100644 --- a/builtin-help.c +++ b/builtin-help.c @@ -23,13 +23,14 @@ static struct man_viewer_info_list { } *man_viewer_info_list; enum help_format { + HELP_FORMAT_NONE, HELP_FORMAT_MAN, HELP_FORMAT_INFO, HELP_FORMAT_WEB, }; static int show_all = 0; -static enum help_format help_format = HELP_FORMAT_MAN; +static enum help_format help_format = HELP_FORMAT_NONE; static struct option builtin_help_options[] = { OPT_BOOLEAN('a', "all", &show_all, "print all available commands"), OPT_SET_INT('m', "man", &help_format, "show man page", HELP_FORMAT_MAN), @@ -415,10 +416,12 @@ int cmd_help(int argc, const char **argv, const char *prefix) { int nongit; const char *alias; + enum help_format parsed_help_format; load_command_list("git-", &main_cmds, &other_cmds); argc = parse_options(argc, argv, prefix, builtin_help_options, builtin_help_usage, 0); + parsed_help_format = help_format; if (show_all) { printf("usage: %s\n\n", git_usage_string); @@ -437,6 +440,9 @@ int cmd_help(int argc, const char **argv, const char *prefix) setup_git_directory_gently(&nongit); git_config(git_help_config, NULL); + if (parsed_help_format != HELP_FORMAT_NONE) + help_format = parsed_help_format; + alias = alias_lookup(argv[0]); if (alias && !is_git_command(argv[0])) { printf("`git %s' is aliased to `%s'\n", argv[0], alias); @@ -444,6 +450,7 @@ int cmd_help(int argc, const char **argv, const char *prefix) } switch (help_format) { + case HELP_FORMAT_NONE: case HELP_FORMAT_MAN: show_man_page(argv[0]); break; |