{"thread":{"id":"41343","subject":"Clarification on the git+ssh and ssh+git schemes","startedAt":"2016-02-05T17:33:06Z","lastAt":"2016-02-05T23:59:54Z","messageCount":5,"participants":["Carlos Martín Nieto","Jeff King","Linus Torvalds","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"277554","messageId":"62DF0D5B-83DF-465D-9786-A4E7DA97F2BA@dwim.me","threadId":"41343","inReplyTo":null,"subject":"Clarification on the git+ssh and ssh+git schemes","fromName":"Carlos Martín Nieto","fromEmail":"cmn@dwim.me","sentAt":"2016-02-05T17:33:06Z","receivedAt":"2016-02-05T17:33:06Z","isPatch":false,"sender":{"key":"cmn@dwim.me","avatar":"https://avatars.githubusercontent.com/u/335443?v=4"},"body":"Hello gits,\n\ngit supports using git+ssh:// and ssh+git:// instead of ssh:// or the rsync-style format. The first two are however not documented in the git-clone manage as acceptable protocols (which is what I think of as the canonical source for what you can use). There are tests to make sure these are supported, but even the commit that allows for this (c05186cc; Support git+ssh:// and ssh+git:// URL) makes it pretty clear it’s not something that’s considered sensible.\n\nBut in either case, if we’re going to support it, it should be documented. If we don’t want to support it, then we should delete the references to these formats along with the tests for this.\n\nI’m happy to write a patch going in either direction, but I’d like some input from the community as to what we want to do.\n\nCheers,\n   cmn\n"},{"id":"277562","messageId":"20160205193027.GC7245@sigill.intra.peff.net","threadId":"41343","inReplyTo":"62DF0D5B-83DF-465D-9786-A4E7DA97F2BA@dwim.me","subject":"Re: Clarification on the git+ssh and ssh+git schemes","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-02-05T19:30:27Z","receivedAt":"2016-02-05T19:30:27Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Feb 05, 2016 at 09:33:06AM -0800, Carlos Martín Nieto wrote:\n\n> git supports using git+ssh:// and ssh+git:// instead of ssh:// or the\n> rsync-style format. The first two are however not documented in the\n> git-clone manage as acceptable protocols (which is what I think of as\n> the canonical source for what you can use). There are tests to make\n> sure these are supported, but even the commit that allows for this\n> (c05186cc; Support git+ssh:// and ssh+git:// URL) makes it pretty\n> clear it’s not something that’s considered sensible.\n\nHrm. I tried to find more discussion on the list, but I couldn't find\nany mention of git+ssh, nor of that patch. I wonder if there is a hole\nin my archive, or if they were done off-list for some reason.\n\nAnyway...\n\n> But in either case, if we’re going to support it, it should be\n> documented. If we don’t want to support it, then we should delete the\n> references to these formats along with the tests for this.\n\nWhether they are stupid or not (and I agree that they are), we cannot\njust rip them out now without warning. And given that they are probably\nnot costing us a lot in maintenance burden to keep, I'd guess it is less\neffort to simply leave them in place.\n\nI suspect they were not really documented because nobody wanted to\nencourage their use. I don't think it would be wrong to document that\nthey exist and are deprecated, though.\n\n> I’m happy to write a patch going in either direction, but I’d like\n> some input from the community as to what we want to do.\n\nI imagine your ulterior motive is also figuring out whether libgit2\nneeds to support them?\n\n-Peff\n"},{"id":"277565","messageId":"CA+55aFyWqK0bu2V1SYagrYCBGpj0=2orobK2vT-KRkqpq=kgtw@mail.gmail.com","threadId":"41343","inReplyTo":"20160205193027.GC7245@sigill.intra.peff.net","subject":"Re: Clarification on the git+ssh and ssh+git schemes","fromName":"Linus Torvalds","fromEmail":"torvalds@linux-foundation.org","sentAt":"2016-02-05T19:36:25Z","receivedAt":"2016-02-05T19:36:25Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"On Fri, Feb 5, 2016 at 11:30 AM, Jeff King <peff@peff.net> wrote:\n>\n> I suspect they were not really documented because nobody wanted to\n> encourage their use. I don't think it would be wrong to document that\n> they exist and are deprecated, though.\n\nThey exist because some people seemed to think that people shouldn't\nuse \"ssh://\" since they thought that only ssh should use that.\n\nWhich is obviously bullshit, since by that logic all the other formats\nshould have that idiotic \"git+\" format too (\"git+https\", anybody?). It\ndoesn't actually help anything, and it only pushes somebodys broken\nagenda.\n\nSo there was a push for that silly thing by a couple of people, but it\nwas always wrong. Don't even document it.\n\nLeave it in the source code as an option, and maybe add a comment\nabout \"This is stupid, but we support it for hysterical raisins\".\n\nDon't add it to any real documentation. Not even as deprecated. That\njust validates it further.\n\n                   Linus\n"},{"id":"277607","messageId":"xmqq1t8qdcyf.fsf@gitster.mtv.corp.google.com","threadId":"41343","inReplyTo":"CA+55aFyWqK0bu2V1SYagrYCBGpj0=2orobK2vT-KRkqpq=kgtw@mail.gmail.com","subject":"Re: Clarification on the git+ssh and ssh+git schemes","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-02-05T22:11:52Z","receivedAt":"2016-02-05T22:11:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@linux-foundation.org> writes:\n\n> On Fri, Feb 5, 2016 at 11:30 AM, Jeff King <peff@peff.net> wrote:\n>>\n>> I suspect they were not really documented because nobody wanted to\n>> encourage their use. I don't think it would be wrong to document that\n>> they exist and are deprecated, though.\n>\n> They exist because some people seemed to think that people shouldn't\n> use \"ssh://\" since they thought that only ssh should use that.\n>\n> Which is obviously bullshit, since by that logic all the other formats\n> should have that idiotic \"git+\" format too (\"git+https\", anybody?). It\n> doesn't actually help anything, and it only pushes somebodys broken\n> agenda.\n>\n> So there was a push for that silly thing by a couple of people, but it\n> was always wrong. Don't even document it.\n\n\"git+https://\" is actually an interesting thing to think about.\n\nThose who argued that \"ssh://\" should only be used by ssh would say\nfor the same reason that \"http://\" is OK only when Git is using the\nold \"commit walker\" aka \"dumb\" HTTP transport, and the modern \"Git\nprotocol over HTTP\" aka \"smart\" HTTP should not use \"http://\".\n\nWhich is a problematic stance to take.  It would force inconvenience\non our users, especially when the server side support for the modern\n\"Git over HTTP\" is done in such a way that it can co-exist with the\ncommit walker transport.\n\nSo in that sense, \"git+https://\" does not help anybody.  I however\nwouldn't use such strong words like you did ;-)\n\n - If we see \"hg+http://\" or \"svn+http://\" URL, that would help\n   people to immediately know that \"git clone\" would not work\n   against them, so for us who live in Git world, \"git+http:// does\n   not buy anything (assuming that we know better than assuming all\n   \"http://\" are clonable, e.g. \"git clone http://nytimes.com\"), it\n   would help if others marked their non-Git URL as such.\n\n - During technical discussion inside Git circle when we need to\n   differentiate the \"smart\" and \"dump\" HTTP transports, it may help\n   to be able to say \"git+http://\" and \"http://\".  And people who\n   heard such a conversation may be tempted to say \"git+http://\" to\n   talk to a Git repository that is known to talk the \"smart HTTP\"\n   protocol.\n\nDevil's advocate mode off.\n\n> Leave it in the source code as an option, and maybe add a comment\n> about \"This is stupid, but we support it for hysterical raisins\".\n\nSounds good.\n"},{"id":"277618","messageId":"DC6DF4A9-2BB4-432F-9893-39523E47A10B@dwim.me","threadId":"41343","inReplyTo":"xmqq1t8qdcyf.fsf@gitster.mtv.corp.google.com","subject":"Re: Clarification on the git+ssh and ssh+git schemes","fromName":"Carlos Martín Nieto","fromEmail":"cmn@dwim.me","sentAt":"2016-02-05T23:59:54Z","receivedAt":"2016-02-05T23:59:54Z","isPatch":false,"sender":{"key":"cmn@dwim.me","avatar":"https://avatars.githubusercontent.com/u/335443?v=4"},"body":"\n> On 05 Feb 2016, at 14:11, Junio C Hamano <gitster@pobox.com> wrote:\n> \n> Linus Torvalds <torvalds@linux-foundation.org> writes:\n> \n>> On Fri, Feb 5, 2016 at 11:30 AM, Jeff King <peff@peff.net> wrote:\n>>> \n>>> I suspect they were not really documented because nobody wanted to\n>>> encourage their use. I don't think it would be wrong to document that\n>>> they exist and are deprecated, though.\n>> \n>> They exist because some people seemed to think that people shouldn't\n>> use \"ssh://\" since they thought that only ssh should use that.\n>> \n>> Which is obviously bullshit, since by that logic all the other formats\n>> should have that idiotic \"git+\" format too (\"git+https\", anybody?). It\n>> doesn't actually help anything, and it only pushes somebodys broken\n>> agenda.\n>> \n>> So there was a push for that silly thing by a couple of people, but it\n>> was always wrong. Don't even document it.\n> \n> […]\n> \n>> Leave it in the source code as an option, and maybe add a comment\n>> about \"This is stupid, but we support it for hysterical raisins\".\n> \n> Sounds good.\n\nOK then, let’s remove the reference from the manpage.\n\nAs peff guessed, this query is indeed triggered by having to make a decision about whether libgit2 should support them. I suppose we’ll have to go in a similar direction. Support them because people are using them (which is why a user brought it up) but leave a comment that we don’t like it.\n\nCheers,\n   can"}]}