Merge branch 'rf/man-env'
authorJunio C Hamano <gitster@pobox.com>
Wed, 3 Sep 2008 00:45:41 +0000 (17:45 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Sep 2008 00:45:41 +0000 (17:45 -0700)
* rf/man-env:
builtin-help: fallback to GIT_MAN_VIEWER before man

Documentation/git-help.txt
builtin-help.c
index f414583fc48e85e4785fbf5f9431bb81a96ccd9d..d9b9c34b3a60f09bea4f9e53b5127f33f356e042 100644 (file)
@@ -112,7 +112,9 @@ For example, this configuration:
 will try to use konqueror first. But this may fail (for example if
 DISPLAY is not set) and in that case emacs' woman mode will be tried.
 
-If everything fails the 'man' program will be tried anyway.
+If everything fails, or if no viewer is configured, the viewer specified
+in the GIT_MAN_VIEWER environment variable will be tried.  If that
+fails too, the 'man' program will be tried anyway.
 
 man.<tool>.path
 ~~~~~~~~~~~~~~~
index 721038e4f55703d00efc62af8ccf4588182fb58f..64207cbfe909d17ea9698d3ff680203eee9f5c01 100644 (file)
@@ -361,12 +361,15 @@ static void show_man_page(const char *git_cmd)
 {
        struct man_viewer_list *viewer;
        const char *page = cmd_to_page(git_cmd);
+       const char *fallback = getenv("GIT_MAN_VIEWER");
 
        setup_man_path();
        for (viewer = man_viewer_list; viewer; viewer = viewer->next)
        {
                exec_viewer(viewer->name, page); /* will return when unable */
        }
+       if (fallback)
+               exec_viewer(fallback, page);
        exec_viewer("man", page);
        die("no man viewer handled the request");
 }