diff options
authorSteffen Prohaska <>2008-07-13 20:31:19 (GMT)
committerJunio C Hamano <>2008-07-13 21:41:28 (GMT)
commit868da8d5e329c951f0d0cd049a8f9fecda64d388 (patch)
parent2de9de5e4ae1353f1552f61cf8cf532e3f1dc5f6 (diff)
help.c: Add support for htmldir relative to git_exec_path()
If htmldir (in the Makefile) is a relative path, this path will now be interpreted relative to git_exec_path. This can be used to create an installation that can be moved to a different directory without re-compiling. The Windows installer (msysgit) is an example for such a setup. Note that the Makefile maps htmldir to the define GIT_HTML_PATH. Signed-off-by: Steffen Prohaska <> Signed-off-by: Johannes Sixt <> Signed-off-by: Junio C Hamano <>
1 files changed, 5 insertions, 3 deletions
diff --git a/help.c b/help.c
index ca9632b..0f055bf 100644
--- a/help.c
+++ b/help.c
@@ -633,13 +633,15 @@ static void show_info_page(const char *git_cmd)
static void get_html_page_path(struct strbuf *page_path, const char *page)
struct stat st;
+ const char *html_path = system_path(GIT_HTML_PATH);
/* Check that we have a git documentation directory. */
- if (stat(GIT_HTML_PATH "/git.html", &st) || !S_ISREG(st.st_mode))
- die("'%s': not a documentation directory.", GIT_HTML_PATH);
+ if (stat(mkpath("%s/git.html", html_path), &st)
+ || !S_ISREG(st.st_mode))
+ die("'%s': not a documentation directory.", html_path);
strbuf_init(page_path, 0);
- strbuf_addf(page_path, GIT_HTML_PATH "/%s.html", page);
+ strbuf_addf(page_path, "%s/%s.html", html_path, page);
static void show_html_page(const char *git_cmd)