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

Re: remote#branch

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Oct 31, 2007, 15:28 UTC
Message-ID
<alpine.LFD.0.999.0710310816180.30120@woody.linux-foundation.org>
In-Reply-To
<85lk9jzsxb.fsf@lola.goethe.zz>
On Wed, 31 Oct 2007, David Kastrup wrote:
> 
> I can click on links in my mail reader, and the above is not recognized
> as one.  <URL:http://host/git repo with spaces in the path> would likely
> work.
I don't think this whole discussion is relevant at all.
Why?

Because we don't care! This is *exactly* why I brought up the whole discussion about "interoperability with a web browser", and pointed out that there is no such thing *anyway*, since a GIT URL is generally not suitable for browsing _regardless_ of any encoding issues!

So it doesn't matter one whit if a mail client recognizes GIT URL's or not! Because the mail client cannot do the right thing with them anyway, and would generally think that it's something that it should highlight so that you can browse it!

Besides, you generally shouldn't use http for git URL's in the first place, and they are very much a secondary citizen. Yes, some people use them because they have firewall issues, and they *work*, but giving them as examples of GIT URL's and discussing them as it they were a big deal is just *stupid* when no other - more realistic - git url works that way anyway.

This was the whole and only point of my "interoperability" thing. The GIT URL's - even when they are perfectly well-formed URL's (which is basically 100% of the time, since no current git server tends to put things like spaces in the path anyway) - are simply in a different "space" than most other URL's.

You cannot feed them to a web browser or a file browser anyway, since the URL is actually mal-formed (on purpose) in *another* and more fundamental way: it doesn't say what the "application domain" is, since it basically just assumes that the application domain is git, and the "scheme" part of the URL really talks only about the _protocol_, not about the fact that it's a git thing.

So if you wanted to be inter-operable, you'd have add the "git" part to the scheme, and do the (insane, in my opinion) cogito thing with "git+http://xyz.hjashja/" thing!

See? Otherwise no non-git program could understand *anyway* that it's a git address, and not meant to be some html thing.

So to summarise:
 - the only way to make git interoperate would be to be user-UNfriendly 
   with stupid markers that no git program really needs or wants, and by 
   making the escaping depend on the form of the GIT URL.

But hey, if people want to screw up git even more, and make the "git+" crap also encode the address, I don't care. I would never *ever* use the "git+xyz://" forms anyway. They're stupid and useless, but if you want to have programs automatically do something magical about git url's, you'd need that "git+" thing.

Personally, I think it's a much better idea to just be git-specific. Because realistically, nobody is ever going to really be anything else anyway. There is nothing you can sanely do with a git link, unless it's something very git specific and conscious in the first place!

			Linus
Previous: David KastrupNext: Jeff King
Message 48 of 75 in “Git homepage: remove all the references to Cogito”
  1. Git homepage: remove all the references to CogitoPaolo Ciarrocchi, Oct 15, 2007
  2. Petr BaudisOct 16, 2007
  3. Matthieu MoyOct 16, 2007
  4. Paolo CiarrocchiOct 16, 2007
  5. gitweb: Speed up get_projects_list for large source treesLuke Lu, Oct 16, 2007
  6. Andreas EricssonOct 16, 2007
  7. Petr BaudisOct 16, 2007
  8. cogito and remote#branch, was Re: [PATCH] Git homepage: remove all the references to CogitoJohannes Schindelin, Oct 16, 2007
  9. Jan HudecOct 16, 2007
  10. Johannes SchindelinOct 16, 2007
  11. Jan HudecOct 27, 2007
  12. Johannes SchindelinOct 27, 2007
  13. Jan HudecOct 29, 2007
  14. Linus TorvaldsOct 29, 2007
  15. Theodore TsoOct 29, 2007
  16. Linus TorvaldsOct 29, 2007
  17. Johannes SchindelinOct 29, 2007
  18. Theodore TsoOct 30, 2007
  19. Junio C HamanoOct 30, 2007
  20. Theodore TsoOct 30, 2007
  21. Linus TorvaldsOct 30, 2007
  22. Tom PrinceOct 30, 2007
  23. Linus TorvaldsOct 30, 2007
  24. Tom PrinceOct 30, 2007
  25. Linus TorvaldsOct 30, 2007
  26. Matthieu MoyOct 30, 2007
  27. Linus TorvaldsOct 30, 2007
  28. Linus TorvaldsOct 30, 2007
  29. Pascal ObryOct 30, 2007
  30. Linus TorvaldsOct 30, 2007
  31. Randal L. SchwartzOct 30, 2007
  32. Linus TorvaldsOct 30, 2007
  33. Nicolas PitreOct 30, 2007
  34. Jeff KingOct 30, 2007
  35. Jakub NarebskiOct 31, 2007
  36. Jeff KingOct 31, 2007
  37. Jakub NarebskiOct 31, 2007
  38. Jeff KingOct 31, 2007
  39. Andreas EricssonOct 31, 2007
  40. Mike HommeyOct 31, 2007
  41. Andreas EricssonOct 31, 2007
  42. Mike HommeyOct 31, 2007
  43. Jakub NarebskiNov 1, 2007
  44. Theodore TsoNov 1, 2007
  45. Andreas EricssonNov 1, 2007
  46. Pascal ObryOct 31, 2007
  47. David KastrupOct 31, 2007
  48. Linus TorvaldsOct 31, 2007
  49. Jeff KingOct 31, 2007
  50. Linus TorvaldsOct 31, 2007
  51. Jeff KingOct 31, 2007
  52. Linus TorvaldsOct 31, 2007
  53. Andreas EricssonOct 31, 2007
  54. Jeff KingOct 31, 2007
  55. David KastrupOct 31, 2007
  56. Wincent ColaiutaOct 31, 2007
  57. Robin RosenbergOct 31, 2007
  58. Pascal ObryOct 31, 2007
  59. Petr BaudisOct 31, 2007
  60. Pascal ObryOct 30, 2007
  61. Jan HudecOct 30, 2007
  62. Linus TorvaldsOct 30, 2007
  63. Erik WarendorphOct 31, 2007
  64. Johannes SchindelinOct 30, 2007
  65. Martin LanghoffOct 31, 2007
  66. Linus TorvaldsOct 31, 2007
  67. Jeff KingOct 31, 2007
  68. Martin LanghoffOct 31, 2007
  69. Jeff KingOct 31, 2007
  70. Johannes SchindelinOct 31, 2007
  71. Linus TorvaldsOct 30, 2007
  72. Johannes SchindelinOct 29, 2007
  73. Jonas FonsecaOct 16, 2007
  74. Petr BaudisOct 31, 2007
  75. Jonas FonsecaOct 31, 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.