Merge branch 'cw/help-over-network'
"git help -w $cmd" can show HTML version of documentation for "git-$cmd" by setting help.htmlpath to somewhere other than the default location where the build procedure installs them locally; the variable can even point at a http:// URL. * cw/help-over-network: Allow help.htmlpath to be a URL prefix Add config variable to set HTML path for git-help --web
This commit is contained in:
commit
f697a27aa6
@ -34,6 +34,8 @@ enum help_format {
|
||||
HELP_FORMAT_WEB
|
||||
};
|
||||
|
||||
static const char *html_path;
|
||||
|
||||
static int show_all = 0;
|
||||
static unsigned int colopts;
|
||||
static enum help_format help_format = HELP_FORMAT_NONE;
|
||||
@ -265,6 +267,12 @@ static int git_help_config(const char *var, const char *value, void *cb)
|
||||
help_format = parse_help_format(value);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "help.htmlpath")) {
|
||||
if (!value)
|
||||
return config_error_nonbool(var);
|
||||
html_path = xstrdup(value);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "man.viewer")) {
|
||||
if (!value)
|
||||
return config_error_nonbool(var);
|
||||
@ -387,12 +395,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);
|
||||
if (!html_path)
|
||||
html_path = system_path(GIT_HTML_PATH);
|
||||
|
||||
/* Check that we have a git documentation directory. */
|
||||
if (stat(mkpath("%s/git.html", html_path), &st)
|
||||
|| !S_ISREG(st.st_mode))
|
||||
die(_("'%s': not a documentation directory."), html_path);
|
||||
if (!strstr(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, "%s/%s.html", html_path, page);
|
||||
|
Loading…
Reference in New Issue
Block a user