git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/3] Allow help.htmlpath to be an http: URL

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 27, 2012, 21:32 UTC
Message-ID
<7vbok4785a.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20120627210502.GB2292@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 28 quoted lines
> On Wed, Jun 27, 2012 at 09:55:13PM +0100, Chris Webb wrote:
>
>> Setting this to a URL prefix instead of a path to a local directory allows
>> git-help --web to work even when HTML docs aren't locally installed, by
>> pointing the browser at a copy accessible on the web. For example,
>> 
>>     [help]
>>       format = html
>>       htmlpath = http://git-scm.com/docs
>> 
>> will use the publicly available documentation on the git homepage.
>
> Nice.
>
>>  	/* 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 (prefixcmp(html_path, "http:")) {
>> +		if (stat(mkpath("%s/git.html", html_path), &st)
>> +				|| !S_ISREG(st.st_mode))
>> +			die("'%s': not a documentation directory.", html_path);
>> +	}
>
> I'd rather not tie this directly to http. Is there any reason not to
> allow https, for example? Can we maybe just look for strstr("://")
> instead? That's the same magic we use to differentiate URLs from paths
> when looking for repositories.

One part of me says "any non-standard html-path should be sent to the browser". Another part of me says "what if network is unavailable? Wouldn't it be nice to fall back to use the local copy?"

And a small voice in me responds to the latter with "If you have a local copy anyway, why would you want to go to the network even if you could?"

Which leads me to conclude that it is the right thing to do if html_path came from the configuration, not from the compiled-in default, to always ask browser to do its thing, and let it fail if it has to fail---it is not Git's problem anymore at that point.

It also is the simplest.
Previous: Chris WebbNext: Chris Webb
Message 6 of 15 in “A handful of help-related patches”
  1. Chris WebbJun 27, 2012
  2. 1/3 Add config variable to set HTML path for git-help --webChris Webb, Jun 27, 2012
  3. 2/3 Allow help.htmlpath to be an http: URLChris Webb, Jun 27, 2012
  4. Jeff KingJun 27, 2012
  5. Chris WebbJun 27, 2012
  6. Junio C HamanoJun 27, 2012
  7. Chris WebbJun 27, 2012
  8. Jeff KingJun 27, 2012
  9. Chris WebbJun 27, 2012
  10. Jeff KingJun 27, 2012
  11. Junio C HamanoJun 28, 2012
  12. Chris WebbJun 28, 2012
  13. Jeff KingJun 28, 2012
  14. Chris WebbJun 28, 2012
  15. 3/3 Add a help format 'usage' to provide brief command usageChris Webb, Jun 27, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.