Re: remote#branch
- From
Tom Prince <tom.prince@ualberta.net>
- Date
- Oct 30, 2007, 16:02 UTC
- Message-ID
- <20071030160232.GB2640@hermes.priv>
- In-Reply-To
- <alpine.LFD.0.999.0710300738550.30120@woody.linux-foundation.org>
On Tue, Oct 30, 2007 at 07:59:45AM -0700, Linus Torvalds wrote:
Show 13 quoted lines
> > Not that I care, but git should probably handle things consistently.
>
> Git has been, and *is* entirely consistent. It uses convenient repo names.
> If you don't want to call them url's, then call them "repository name".
> Call them whatever. But they are 100% obvious, even if there are multiple
> forms of them (and *none* of the forms do any quoting at all):
>
> - <remote shorthand> ("origin")
> - <path> ("../git.git")
> - <host>:<path> ("master.kernel.org:/pub/scm/...")
> - <protocol>://<host>/<path> ("git://repo.or.cz/...")
>
> See? We may not follow RFC's, but we follow "easy to use".Well, only the last one actually looks like a URL, so that is the only this discussion is about. I don't think anyone is suggesting that the first three be changed at all. So, to use your terminology, git has a variety of ways to specify a repo name, one of which happens to be a URL (or looks like one). The suggestion is that we should make that way (and only that way) behave like a RFC URL.
And git should be consistent with web browsers, automatically quoting things it gets passed. I think the only point of contention is probably how to deal with URLs that git receives that are already quoted.
1. We ignore the quoting and re-encode everything for the http transport. 2. We honour the encoding and decode everything for the git transport. 3. We handle git:// and http:// different, so that the three git:// URLs below refer to different repositories, while the three http:// URLs give refer to the same repository.
Show 7 quoted lines
> > git://repo.or.cz/linux-2.6/linux acpi-2.6/ibm-acpi-2.6.git > > git://repo.or.cz/linux-2.6/linux+acpi-2.6/ibm-acpi-2.6.git > > git://repo.or.cz/linux-2.6/linux%20acpi-2.6/ibm-acpi-2.6.git > > > http://repo.or.cz/linux-2.6/linux acpi-2.6/ibm-acpi-2.6.git > > http://repo.or.cz/linux-2.6/linux+acpi-2.6/ibm-acpi-2.6.git > > http://repo.or.cz/linux-2.6/linux%20acpi-2.6/ibm-acpi-2.6.git
The third possibility is probably what we do now, which is why I am suggesting git is inconsistent. The first will fall down when using a repository that is colocated, and somebody copies a URL from the web browsers location bar (which will be properly encoded). Which leaves the second.
Tom