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

Re: Clarification on the git+ssh and ssh+git schemes

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 5, 2016, 22:11 UTC
Message-ID
<xmqq1t8qdcyf.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CA+55aFyWqK0bu2V1SYagrYCBGpj0=2orobK2vT-KRkqpq=kgtw@mail.gmail.com>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 16 quoted lines
> On Fri, Feb 5, 2016 at 11:30 AM, Jeff King <peff@peff.net> wrote:
>>
>> I suspect they were not really documented because nobody wanted to
>> encourage their use. I don't think it would be wrong to document that
>> they exist and are deprecated, though.
>
> They exist because some people seemed to think that people shouldn't
> use "ssh://" since they thought that only ssh should use that.
>
> Which is obviously bullshit, since by that logic all the other formats
> should have that idiotic "git+" format too ("git+https", anybody?). It
> doesn't actually help anything, and it only pushes somebodys broken
> agenda.
>
> So there was a push for that silly thing by a couple of people, but it
> was always wrong. Don't even document it.
"git+https://" is actually an interesting thing to think about.

Those who argued that "ssh://" should only be used by ssh would say for the same reason that "http://" is OK only when Git is using the old "commit walker" aka "dumb" HTTP transport, and the modern "Git protocol over HTTP" aka "smart" HTTP should not use "http://".

Which is a problematic stance to take. It would force inconvenience on our users, especially when the server side support for the modern "Git over HTTP" is done in such a way that it can co-exist with the commit walker transport.

So in that sense, "git+https://" does not help anybody. I however wouldn't use such strong words like you did ;-)

 - If we see "hg+http://" or "svn+http://" URL, that would help
   people to immediately know that "git clone" would not work
   against them, so for us who live in Git world, "git+http:// does
   not buy anything (assuming that we know better than assuming all
   "http://" are clonable, e.g. "git clone http://nytimes.com"), it
   would help if others marked their non-Git URL as such.
 - During technical discussion inside Git circle when we need to
   differentiate the "smart" and "dump" HTTP transports, it may help
   to be able to say "git+http://" and "http://".  And people who
   heard such a conversation may be tempted to say "git+http://" to
   talk to a Git repository that is known to talk the "smart HTTP"
   protocol.
Devil's advocate mode off.
> Leave it in the source code as an option, and maybe add a comment
> about "This is stupid, but we support it for hysterical raisins".
Sounds good.
Previous: Linus TorvaldsNext: Carlos Martín Nieto
Message 4 of 5 in “Clarification on the git+ssh and ssh+git schemes”
  1. Carlos Martín NietoFeb 5, 2016
  2. Jeff KingFeb 5, 2016
  3. Linus TorvaldsFeb 5, 2016
  4. Junio C HamanoFeb 5, 2016
  5. Carlos Martín NietoFeb 5, 2016

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.