aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent van Ravesteijn <vfr@lyx.org>2012-06-06 20:28:16 +0000
committerJunio C Hamano <gitster@pobox.com>2012-06-06 14:14:13 -0700
commit1cc8af044cad37b5f7df85b177f6aa979aa3215a (patch)
tree4298baf6dde05d6f441c1ffb847d486f9fbdf272
parentbefc5ed3799cb6fcbaa7de03e7fa1760e846853c (diff)
downloadgit-1cc8af044cad37b5f7df85b177f6aa979aa3215a.tar.gz
git-1cc8af044cad37b5f7df85b177f6aa979aa3215a.tar.xz
help: use HTML as the default help format on Windows
When 'git help $cmd' is run without a format option (e.g. -w), the 'man' format is always used. On some platforms, however, manual page viewers are not often available. Introduce DEFAULT_HELP_FORMAT make variable in order to allow the default format configurable at compile time, and set it to HTML when compiling on Windows (but not Cygwin). Helped-by: Jeff King <peff@peff.net> Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Makefile9
-rw-r--r--builtin/help.c8
2 files changed, 16 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 96ebcf983..e09ab97a3 100644
--- a/Makefile
+++ b/Makefile
@@ -296,6 +296,10 @@ all::
# the diff algorithm. It gives a nice speedup if your processor has
# fast unaligned word loads. Does NOT work on big-endian systems!
# Enabled by default on x86_64.
+#
+# Define DEFAULT_HELP_FORMAT to "man", "info" or "html"
+# (defaults to "man") if you want to have a different default when
+# "git help" is called without a parameter specifying the format.
GIT-VERSION-FILE: FORCE
@$(SHELL_PATH) ./GIT-VERSION-GEN
@@ -1236,6 +1240,7 @@ ifeq ($(uname_S),Windows)
BLK_SHA1 = YesPlease
NO_POSIX_GOODIES = UnfortunatelyYes
NATIVE_CRLF = YesPlease
+ DEFAULT_HELP_FORMAT = html
CC = compat/vcbuild/scripts/clink.pl
AR = compat/vcbuild/scripts/lib.pl
@@ -1915,6 +1920,10 @@ SHELL_PATH_CQ_SQ = $(subst ','\'',$(SHELL_PATH_CQ))
BASIC_CFLAGS += -DSHELL_PATH='$(SHELL_PATH_CQ_SQ)'
endif
+ifdef DEFAULT_HELP_FORMAT
+BASIC_CFLAGS += -DDEFAULT_HELP_FORMAT='"$(DEFAULT_HELP_FORMAT)"'
+endif
+
ALL_CFLAGS += $(BASIC_CFLAGS)
ALL_LDFLAGS += $(BASIC_LDFLAGS)
diff --git a/builtin/help.c b/builtin/help.c
index 43d3c8444..536d4fd46 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -12,6 +12,10 @@
#include "column.h"
#include "help.h"
+#ifndef DEFAULT_HELP_FORMAT
+#define DEFAULT_HELP_FORMAT "man"
+#endif
+
static struct man_viewer_list {
struct man_viewer_list *next;
char name[FLEX_ARRAY];
@@ -445,7 +449,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)
+ if (parsed_help_format == HELP_FORMAT_NONE)
+ help_format = parse_help_format(DEFAULT_HELP_FORMAT);
+ else
help_format = parsed_help_format;
alias = alias_lookup(argv[0]);