git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jan Hudec <bulb@ucw.cz>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Petr Baudis <pasky@suse.cz>,
	Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>,
	git@vger.kernel.org
Subject: Re: remote#branch
Date: Mon, 29 Oct 2007 17:49:25 -0400	[thread overview]
Message-ID: <20071029214925.GH21133@thunk.org> (raw)
In-Reply-To: <alpine.LFD.0.999.0710291112590.30120@woody.linux-foundation.org>

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

  reply	other threads:[~2007-10-29 21:50 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-15 21:38 [PATCH] Git homepage: remove all the references to Cogito Paolo Ciarrocchi
2007-10-16  2:19 ` Petr Baudis
2007-10-16  7:50   ` Matthieu Moy
2007-10-16  8:01     ` Paolo Ciarrocchi
2007-10-16  9:04     ` [PATCH] gitweb: Speed up get_projects_list for large source trees Luke Lu
2007-10-16 16:55       ` Andreas Ericsson
2007-10-16 23:20       ` Petr Baudis
2007-10-16 10:49   ` cogito and remote#branch, was Re: [PATCH] Git homepage: remove all the references to Cogito Johannes Schindelin
2007-10-16 21:09     ` remote#branch Jan Hudec
2007-10-16 21:35       ` remote#branch Johannes Schindelin
2007-10-27 20:47         ` remote#branch Jan Hudec
2007-10-27 23:01           ` remote#branch Johannes Schindelin
2007-10-29 17:40             ` remote#branch Jan Hudec
2007-10-29 18:17               ` remote#branch Linus Torvalds
2007-10-29 21:49                 ` Theodore Tso [this message]
2007-10-29 22:57                   ` remote#branch Linus Torvalds
2007-10-29 23:49                     ` remote#branch Johannes Schindelin
2007-10-30  3:01                     ` remote#branch Theodore Tso
2007-10-30  3:40                       ` remote#branch Junio C Hamano
2007-10-30  4:40                         ` remote#branch Theodore Tso
2007-10-30  4:51                           ` remote#branch Linus Torvalds
2007-10-30  5:37                             ` remote#branch Tom Prince
2007-10-30 14:59                               ` remote#branch Linus Torvalds
2007-10-30 16:02                                 ` remote#branch Tom Prince
2007-10-30 17:39                                   ` remote#branch Linus Torvalds
2007-10-30 17:49                                     ` remote#branch Matthieu Moy
2007-10-30 17:58                                       ` remote#branch Linus Torvalds
2007-10-30 18:19                                         ` remote#branch Linus Torvalds
2007-10-30 19:18                                         ` remote#branch Pascal Obry
2007-10-30 19:38                                           ` remote#branch Linus Torvalds
2007-10-30 20:15                                             ` remote#branch Randal L. Schwartz
2007-10-30 20:30                                               ` remote#branch Linus Torvalds
2007-10-30 20:36                                               ` remote#branch Nicolas Pitre
2007-10-30 23:58                                             ` remote#branch Jeff King
2007-10-31  0:12                                               ` remote#branch Jakub Narebski
2007-10-31  1:38                                                 ` remote#branch Jeff King
2007-10-31  1:49                                                   ` remote#branch Jakub Narebski
2007-10-31  1:57                                                     ` remote#branch Jeff King
2007-10-31  7:09                                                       ` remote#branch Andreas Ericsson
2007-10-31  8:35                                                         ` remote#branch Mike Hommey
2007-10-31  9:03                                                           ` remote#branch Andreas Ericsson
2007-10-31  9:15                                                             ` remote#branch Mike Hommey
2007-11-01  0:22                                                               ` remote#branch Jakub Narebski
2007-11-01  5:11                                                                 ` remote#branch Theodore Tso
2007-11-01  7:29                                                               ` remote#branch Andreas Ericsson
2007-10-31  9:33                                                       ` remote#branch Pascal Obry
2007-10-31  6:42                                                 ` remote#branch David Kastrup
2007-10-31 15:28                                                   ` remote#branch Linus Torvalds
2007-10-31 20:47                                                     ` remote#branch Jeff King
2007-10-31 21:01                                                       ` remote#branch Linus Torvalds
2007-10-31 21:26                                                         ` remote#branch Jeff King
2007-10-31 21:28                                                         ` remote#branch Linus Torvalds
2007-10-31 21:07                                                       ` remote#branch Andreas Ericsson
2007-10-31 21:31                                                         ` remote#branch Jeff King
2007-10-31  6:39                                               ` remote#branch David Kastrup
2007-10-31  8:16                                                 ` remote#branch Wincent Colaiuta
2007-10-31  8:25                                                 ` remote#branch Robin Rosenberg
2007-10-31  9:34                                                 ` remote#branch Pascal Obry
2007-10-31 17:13                                               ` remote#branch Petr Baudis
2007-10-30 19:15                                     ` remote#branch Pascal Obry
2007-10-30 19:36                                 ` remote#branch Jan Hudec
2007-10-30 19:53                                   ` remote#branch Linus Torvalds
2007-10-31 19:29                                   ` remote#branch Erik Warendorph
2007-10-30 10:02                             ` remote#branch Johannes Schindelin
2007-10-31  0:41                             ` remote#branch Martin Langhoff
2007-10-31  0:59                               ` remote#branch Linus Torvalds
2007-10-31  1:43                               ` remote#branch Jeff King
2007-10-31  1:49                                 ` remote#branch Martin Langhoff
2007-10-31  1:59                                   ` remote#branch Jeff King
2007-10-31  3:08                                 ` remote#branch Johannes Schindelin
2007-10-30  4:50                       ` remote#branch Linus Torvalds
2007-10-29 18:32               ` remote#branch Johannes Schindelin
2007-10-16 22:16     ` cogito and remote#branch, was Re: [PATCH] Git homepage: remove all the references to Cogito Jonas Fonseca
2007-10-31 17:09       ` Petr Baudis
2007-10-31 21:17         ` Jonas Fonseca

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071029214925.GH21133@thunk.org \
    --to=tytso@mit.edu \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=bulb@ucw.cz \
    --cc=git@vger.kernel.org \
    --cc=paolo.ciarrocchi@gmail.com \
    --cc=pasky@suse.cz \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).