git-help -i: show info documentation from matching version of git
authorJunio C Hamano <gitster@pobox.com>
Mon, 10 Dec 2007 09:35:29 +0000 (01:35 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 10 Dec 2007 09:36:31 +0000 (01:36 -0800)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
help.c

index 429bc1d..f20b8c0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -155,6 +155,7 @@ STRIP ?= strip
 prefix = $(HOME)
 bindir = $(prefix)/bin
 mandir = $(prefix)/share/man
+infodir = $(prefix)/share/info
 gitexecdir = $(bindir)
 sharedir = $(prefix)/share
 template_dir = $(sharedir)/git-core/templates
@@ -750,6 +751,7 @@ ETC_GITCONFIG_SQ = $(subst ','\'',$(ETC_GITCONFIG))
 DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
 bindir_SQ = $(subst ','\'',$(bindir))
 mandir_SQ = $(subst ','\'',$(mandir))
+infodir_SQ = $(subst ','\'',$(infodir))
 gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
 template_dir_SQ = $(subst ','\'',$(template_dir))
 htmldir_SQ = $(subst ','\'',$(htmldir))
@@ -798,7 +800,9 @@ git$X: git.o $(BUILTIN_OBJS) $(GITLIBS)
                $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
 
 help.o: help.c common-cmds.h GIT-CFLAGS
-       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) '-DGIT_MAN_PATH="$(mandir_SQ)"' $<
+       $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) \
+               '-DGIT_MAN_PATH="$(mandir_SQ)"' \
+               '-DGIT_INFO_PATH="$(infodir_SQ)"' $<
 
 git-merge-subtree$X: git-merge-recursive$X
        $(QUIET_BUILT_IN)$(RM) $@ && ln git-merge-recursive$X $@
diff --git a/help.c b/help.c
index 9d7ad6f..c96b167 100644 (file)
--- a/help.c
+++ b/help.c
@@ -286,6 +286,7 @@ static void show_man_page(const char *git_cmd)
 static void show_info_page(const char *git_cmd)
 {
        const char *page = cmd_to_page(git_cmd);
+       setenv("INFOPATH", GIT_INFO_PATH, 1);
        execlp("info", "info", "gitman", page, NULL);
 }