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

Re: [PATCH 1/8] Make the "traditionally-supported" URLs a special case

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Sep 4, 2009, 19:05 UTC
Message-ID
<alpine.LNX.2.00.0909041429540.28290@iabervon.org>
In-Reply-To
<alpine.DEB.1.00.0909041930450.8306@pacific.mpi-cbg.de>
On Fri, 4 Sep 2009, Johannes Schindelin wrote:
Show 44 quoted lines
> Hi,
> 
> On Fri, 4 Sep 2009, Junio C Hamano wrote:
> 
> > Daniel Barkalow <barkalow@iabervon.org> writes:
> > 
> > > It turns out that the method used to form URLs that use a helper 
> > > doesn't generalize well to other cases, because it interferes with the 
> > > ssh-style locations. Instead, some different mechanism needs to be 
> > > made up to handle arbitrary handlers that git doesn't know about. 
> > > Since we want to keep supporting "http://something", that'll have to 
> > > be a special case anyway, and so we might as well handle it by having 
> > > git know what helpers to use for things that we've always supported, 
> > > and use a single descriptive name for the helper that handles that 
> > > collection of URLs.
> > >
> > > As of this version, the idea is that there will be three ways helpers 
> > > get selected:
> > >
> > >  - git selects a helper based on the URL being something traditionally 
> > >    supported internally; that is, git recognizes the URL and knows 
> > >    what to run, if possible, to handle it
> > >
> > >  - git uses the "vcs" option if it is set
> > >
> > >  - something with the URL that we don't understand well enough yet to 
> > >    design, but which doesn't seem to be possible to fit in as a single 
> > >    rule with the first item.
> > 
> > Thanks for a clear description.
> > 
> > I do not see that there is much difference between the above description
> > and what Dscho is advocating, and I do not see anything to get excited
> > about as Dscho seems to do.
> 
> I mainly take exception at complicating things with a "vcs" config 
> variable.
> 
> The way you describe it, I like it, as I do not see any mention of said 
> config variable there.
> 
> If you allow "git clone <URL>" for foreign vcs URLs, you do not need the 
> "vcs" variable.  If you require that variable, you cannot allow an easy 
> clone, and you will earn my opposition.

Some foreign vcses, including the only one I ever personally use, do not have URLs, and require a bunch of options and paths to specify a repository. I don't want to have to use:

	url = p4://rsh:ssh+-q+-a+-x+-l+p4ssh+-q+-x+perforce+%2Fbin%2Ftrue//projects/foo/bar-1.0/...,//projects/foo/bar-1.1/...

(actually, I don't even know what the normal thing is for a URL for something that's split between multiple locations, or how URLs handle "servers" that are arbitrary commands including options which make a connection to the server)

For cases where the foreign vcs has something to put in the "url" spot, you don't need to set "vcs". In fact, you are only allowed to set one or the other of "vcs" and "url" with my current version. What you're interested in is explicitly left for later, when we have a prototype helper for such a foreign vcs and can try it out with potential users.

	-Daniel
*This .sig left intentionally blank*
Previous: Johannes SchindelinNext: Sverre Rabbelier
Message 8 of 18 in “Make the "traditionally-supported" URLs a special case”
  1. 1/8 Make the "traditionally-supported" URLs a special caseDaniel Barkalow, Sep 4, 2009
  2. Sverre RabbelierSep 4, 2009
  3. Daniel BarkalowSep 4, 2009
  4. Sverre RabbelierSep 4, 2009
  5. Junio C HamanoSep 4, 2009
  6. Sverre RabbelierSep 4, 2009
  7. Johannes SchindelinSep 4, 2009
  8. Daniel BarkalowSep 4, 2009
  9. Sverre RabbelierSep 4, 2009
  10. Daniel BarkalowSep 4, 2009
  11. Johannes SchindelinSep 4, 2009
  12. Daniel BarkalowSep 4, 2009
  13. Johannes SchindelinSep 4, 2009
  14. Mike RalphsonSep 4, 2009
  15. Johannes SchindelinSep 4, 2009
  16. Junio C HamanoSep 4, 2009
  17. Johannes SchindelinSep 4, 2009
  18. Sverre RabbelierSep 4, 2009

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.