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

Re: Gitweb: Show git clone url on projects list

From
JJ.H. <warthog19@eaglescrag.net>
Date
Oct 11, 2010, 21:27 UTC
Message-ID
<4CB3812B.8060209@eaglescrag.net>
In-Reply-To
<m3iq1efhlp.fsf@localhost.localdomain>
Sorry for the late response, was traveling on the 7th.  Comments inline.
Show 11 quoted lines
> There were multiple attempts to add such link to core gitweb (i.e. the
> one present in git 1.7.3), but were not merged in due to runing
> aground the following problems:
> 
> 1. There might be more than one link for one git repository.  One can
>    provide git://, http:// and ssh:// URLs.  Which one to chose?
> 
>    This issue might be solved by either using first one on the list,
>    or filtering and showing link(s) to anonymous unauthenticated ones,
>    i.e. _git_ link (if git:// URL exists) and perhaps _http_ link (if
>    http:// URL exists).

If you are running a uniform enough site, http://git.kernel.org, http://git.fedorahosted.org/git/, etc it's easy enough to deal with. This only becomes an issue if/when you allow more generic trees to exist, and aren't expecting a uniform git link.

Show 10 quoted lines
> 2. More important issue is that besides @git_base_url_list the URL or
>    URLs for a repository can come from various other places: from
>    'cloneurl' text file and from `gitweb.url' configuration variable.
>    It it was taken into account (even to check that such configuration
>    does not exist) it would badly affect performance of generating
>    projects list page.
> 
>    The git.kernel.org gitweb doesn't have this problem because it uses
>    @git_base_url_list (I think unconditionally); also it supports
>    output caching, so eventual performance hit is migitated.

We actually don't, at least currently, use @git_base_url_list. Right now there's a configuration variable to set a uniform server / base url, and then use project path to append to that. git:// in this case is hard coded, though with http being smart now there is no reason why that should be that way (no one has asked for the change &/or submitted a patch to me to alter that behavior).

The caching helps, though since I'm not actually using @git_base_url the caching isn't of significant impact, since I only need to know the path vs. poking in the repo directly. (that said caching still buys me a lot of performance overall).

Assuming you are using my caching version of gitweb setting $gitlinkurl in your config file to be the base (before the path) of your link, it should work. Should get that even if caching is disabled, though YMMV I don't do a lot of testing with the cache turned off, and I haven't written a test case for that yet.

- John 'Warthog9' Hawley
Previous: Jakub NarebskiNext: Jakub Narebski
Message 3 of 4 in “Gitweb: Show git clone url on projects list”
  1. Manuel DoningerOct 7, 2010
  2. Jakub NarebskiOct 7, 2010
  3. J.H.Oct 11, 2010
  4. Jakub NarebskiOct 11, 2010

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.