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

Re: repo.or.cz wishes?

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Aug 27, 2007, 22:27 UTC
Message-ID
<alpine.LFD.0.999.0708271509230.25853@woody.linux-foundation.org>
In-Reply-To
<mj+md-20070827.195605.14967.albireo@ucw.cz>
On Mon, 27 Aug 2007, Martin Mares wrote:
> 
> What does `ssh://what.the.hell.org/some/file' per se mean?
So what does "http://what.the.hell.org/some/file" mean?
Does it mean that you have to start a web browser? Should we make that be
	git+http://what.the.hell.org/some/file
to make it clear that we're doing "git work" over the "http" protocol?
Pretty obviously not.
> SSH is a protocol, but rather in the sense similar to TLS, not to HTTP.

What does *that* mean? A protocol is a protocol. Your argument that protocols are "different" is pointless. Some protocols are usable for git, others aren't. OF COURSE different protocols are different. They are different in different ways.

Git uses URL's to say how to access something, which includes a protocol, an optional host, and a location within the host. It's quite obvious what they mean, and it's *also* obvious that the meaning is git-specific.

Here's what it boils down to:
 - do you think it is sensible to write
	git clone git+file:///some/directory
	git clone git+http://host/directory
	git clone git+rsync://host/directory
   when cloning from the local filesystem, over http, or over rsync 
   respectively? The first one, btw, actually uses the "git protocol". The 
   two others do not, but since a user shouldn't care, it would be really 
   stupid to try to make some internal implementation detail show up in 
   the URL scheme.
 - if you really think that the above is sensible, then explain why.
 - if you think that is TOTALLY IDIOTIC, then explain why "ssh://" is so 
   magically special that it would somehow make sense to say "git+" for 
   it?

As to your TLS example: if we were to do "git over TLS", it would make perfect sense to use either "tls://" (although "gits://" might be more natural, not because tls is wrong, but because people have gotten used to "https://") if we were to have a "secure git" port. Or maybe we'd use the same port number that we already have assigned for git, and just add some "use TLS to authenticate/encrypt", and use "tls://" for that. It makes perfect sense.

In short: you should just ask yourself: what is the most natural thing for a *user* to type to "git clone". And no, the "git+" prefix never makes sense.

			Linus
Previous: Jing XueNext: Sam Vilain
Message 9 of 28 in “repo.or.cz wishes?”
  1. Petr BaudisAug 26, 2007
  2. Sven VerdoolaegeAug 27, 2007
  3. Petr BaudisAug 27, 2007
  4. Linus TorvaldsAug 27, 2007
  5. Junio C HamanoAug 27, 2007
  6. Matthieu MoyAug 27, 2007
  7. Martin MaresAug 27, 2007
  8. Jing XueAug 27, 2007
  9. Linus TorvaldsAug 27, 2007
  10. Sam VilainAug 27, 2007
  11. Linus TorvaldsAug 27, 2007
  12. Jakub NarebskiAug 27, 2007
  13. Linus TorvaldsAug 27, 2007
  14. Sam VilainAug 27, 2007
  15. Linus TorvaldsAug 27, 2007
  16. Jakub NarebskiAug 27, 2007
  17. Jakub NarebskiAug 27, 2007
  18. Sam VilainAug 27, 2007
  19. Johannes SchindelinAug 27, 2007
  20. Uwe Kleine-KönigAug 27, 2007
  21. Sven VerdoolaegeAug 29, 2007
  22. Jakub NarebskiAug 29, 2007
  23. Petr BaudisAug 29, 2007
  24. Petr BaudisAug 29, 2007
  25. Theodore TsoAug 29, 2007
  26. Shawn O. PearceAug 31, 2007
  27. Linus TorvaldsAug 29, 2007
  28. Shawn O. PearceSep 1, 2007

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.