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
|
HELP_FORMAT_WEB
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *html_path;
|
||||||
|
|
||||||
static int show_all = 0;
|
static int show_all = 0;
|
||||||
static unsigned int colopts;
|
static unsigned int colopts;
|
||||||
static enum help_format help_format = HELP_FORMAT_NONE;
|
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);
|
help_format = parse_help_format(value);
|
||||||
return 0;
|
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 (!strcmp(var, "man.viewer")) {
|
||||||
if (!value)
|
if (!value)
|
||||||
return config_error_nonbool(var);
|
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)
|
static void get_html_page_path(struct strbuf *page_path, const char *page)
|
||||||
{
|
{
|
||||||
struct stat st;
|
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. */
|
/* Check that we have a git documentation directory. */
|
||||||
if (stat(mkpath("%s/git.html", html_path), &st)
|
if (!strstr(html_path, "://")) {
|
||||||
|| !S_ISREG(st.st_mode))
|
if (stat(mkpath("%s/git.html", html_path), &st)
|
||||||
die(_("'%s': not a documentation directory."), html_path);
|
|| !S_ISREG(st.st_mode))
|
||||||
|
die("'%s': not a documentation directory.", html_path);
|
||||||
|
}
|
||||||
|
|
||||||
strbuf_init(page_path, 0);
|
strbuf_init(page_path, 0);
|
||||||
strbuf_addf(page_path, "%s/%s.html", html_path, page);
|
strbuf_addf(page_path, "%s/%s.html", html_path, page);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user