builtin-help: fallback to GIT_MAN_VIEWER before man

In some situations it is useful to be able to switch viewers via the
environment, e.g. in Emacs shell buffers.  So check the GIT_MAN_VIEWER
environment variable and try it before falling back to "man".

Signed-off-by: Romain Francoise <romain@orebokech.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Romain Francoise 2008-08-29 17:00:43 +02:00 коммит произвёл Junio C Hamano
Родитель 445cac18c0
Коммит 5059a42780
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -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
~~~~~~~~~~~~~~~

Просмотреть файл

@ -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");
}