Subject: Re: remote#branch

From: Jan Hudec <[email-masked]>
Date: Sat, 27 Oct 2007 22:47:57 +0200

On Tue, Oct 16, 2007 at 22:35:25 +0100, Johannes Schindelin wrote:
> Hi,
> 
> On Tue, 16 Oct 2007, Jan Hudec wrote:
> 
> > If it is a fragment, than "#" is the only correct separator and should 
> > stay that way.
> 
> You did not listen, did you?  '#' is allowed in ref names.  Therefore this 
> character really would lock us in to only ever reference _one_ and _only_ 
> one remote branch at a time.  This might have worked for cogito, but it 
> does not for git.
> 
> So, I say it again, '#' is _out_.

That does not imply it can't separate the ref from the repository...

> > If it is not a true fragment, than we might want to phase it out in 
> > favor of something else. But I would strongly prefer staying within 
> > characters allowed in URI (as per rfc2396).
> 
> If you do that, "http://<xyz-with-branch>" would be ambiguous, wouldn't 
> it?  This would already reference an HTTP resource, and you could not 
> embed refnames into the URL.

... and because of this actually has to. You are right.

> > As for multiple branches, separating them with "," feels logical to me, 
> > no matter what separates them from the repository path. On the other 
> > hand given that neither ":" nor "@" is allowed in refnames, reusing the 
> > same separator would make sense especially if git switched to either of 
> > those.
> 
> ',' is allowed in ref names, so ',' is out.

Actually since many characters that are allowed in ref name are not allowed
in URL at all, the ref-name has to be url-escaped. Which brings all
characters back in, because they can always be specified escaped.

-- 
						 Jan 'Bulb' Hudec <[email-masked]>