diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-12-10 01:22:42 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-12-10 01:22:42 -0800 |
commit | 7be2b6e02b4f2a1b4812764f65b12cafb11a934e (patch) | |
tree | c94ad7eb3a4d478a1c71eb6ef0aaf1c0f7348660 /help.c | |
parent | c07a07c588fea82c2426d795a75324b3035c0a71 (diff) | |
parent | 591aa2536fdbc4090ba8d4ca512d4ee7df4bf05d (diff) | |
download | git-7be2b6e02b4f2a1b4812764f65b12cafb11a934e.tar.gz |
Merge branch 'master' into cc/help
This is to primarily pull in MANPATH tweak and help.txt formatting fix
from the master branch.
Diffstat (limited to 'help.c')
-rw-r--r-- | help.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -255,9 +255,31 @@ static const char *cmd_to_page(const char *git_cmd) } } +static void setup_man_path(void) +{ + struct strbuf new_path; + const char *old_path = getenv("MANPATH"); + + strbuf_init(&new_path, 0); + + /* We should always put ':' after our path. If there is no + * old_path, the ':' at the end will let 'man' to try + * system-wide paths after ours to find the manual page. If + * there is old_path, we need ':' as delimiter. */ + strbuf_addstr(&new_path, GIT_MAN_PATH); + strbuf_addch(&new_path, ':'); + if (old_path) + strbuf_addstr(&new_path, old_path); + + setenv("MANPATH", new_path.buf, 1); + + strbuf_release(&new_path); +} + static void show_man_page(const char *git_cmd) { const char *page = cmd_to_page(git_cmd); + setup_man_path(); execlp("man", "man", page, NULL); } |