On Mon, Oct 29, 2007 at 11:17:12AM -0700, Linus Torvalds wrote: > Git remote names already aren't "url"s in the http sense. > > We say "master:some.host/file/goes here/without/any/stupid/web-escapes" > for the ssh names, and the same goes for "file:///name here" etc. > > People who think that git URL's are web-pages had better wake up and smell > the coffee. They aren't. They never were. They never *should* be. Well, the confusion is that we refer to things that look like "git://git.kernel.org/pub/scm/git/git.git" as if it were a URL. In fact, you did so yourself in the last paragraph above. "People who think that git URL's".... but in fact, whether or not Universal Resource Locators (URL's) in the RFC 3986 sense requires quoting doesn't matter whether or not they are web pages or not. If they are formal URL's in the sense of RFC 3986, it doesn't matter whether they are http URL's, or ldap URL's, or telephone URL's, etc. they are supposed to be quoted whether or not they appear in a web form or not. The whole point of URL's is that they are *uniform*. So what that means is the much more correct statement is: "People who think the names that people specify that to git, which sometimes include names that look very much like URL's, especially when they begin 'git://' or 'http://', and they think they are really RFC 3986 URL's had better wake up and smell the coffee. They aren't. They never were. The they never *should* be. The best that we can say given existing usage is that what git accepts is a superset of what is allowable by RFC 3986 syntactically, and that git in general doesn't do any URL-style quoting, even when given a name that looks syntactically like a http-style URL that begins 'http://'." What this means in practice though is that people would be well advised not to pick locator names (NOT URL's) that contain characters that normally would require escaping by RFC 3986 rules, since the inconsistency of whether tools that expect URL-style quoting rules will probably cause user and tools confusion. Hence, it would probably be a bad idea to place a directory pathname that included the '#' character on a web server and expect that resulting git:// and http:// names generated by an Apache web server and gitweb scripts to do sane things, not to mention direct access via git:// names used when you do a "git push" to said respository. Sometimes the name will require RFC 3968 quoting, and sometimes it may not be quoted using RFC 3968 rules, depending on which tool you are using. I do agree that the Cogito '#' notation makes things worse, not better, because it encourages a bigger separation between the RFC 3986 rules, and what the git tool accepts in practice --- which are not URL's, no matter how much some of our git-style names superficially look like URL's. - Ted - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html