[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Sent from my (old) iPhone
On 24 Jun 2010, at 08:52, Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> wrote:
> måndagen den 21 juni 2010 16.00.25 skrev Shawn Pearce:
>> On Mon, Jun 21, 2010 at 2:31 AM, Alex Blewitt <alex.blewitt@xxxxxxxxx>
> wrote:
>>> Is there a reason why we use git+ssh as the protocol for remote
>>> connections when the Git documentation only talks of ssh connections?
>>
>> Long story.
>>
>> Originally Git only used rsync for transport, and the argument given
>> to git was passed down to rsync as-is. So "user@host:path" was the
>> typical style for SSH connections, as that is what rsync uses to open
>> an SSH connection to the remote host.
>>
>> Then anonymous git:// came along, because rsync wasn't ideal for Git
>> transport. This lead rise to having a protocol name as part of the
>> URL.
>>
>> Somewhere along the line we learned ssh:// to mean use an SSH
>> connection. But I think another system was already using git+ssh://
>> (Cogito?), and users confused the order, so ssh+git:// was also
>> accepted... and now its a big pile of synonyms for the same thing.
>>
>> As far as preference goes, I think Linus Torvalds, Junio Hamano and
>> myself all prefer "user@host:path" for SSH URIs. But not all tools do
>> that. Gerrit Code Review for instance has to advertise ssh:// URIs
>> because it needs to embed the non-standard port number into the URI,
>> and I think ssh:// is cleaner to read than git+ssh.
>>
>> As for why EGit prefers git+ssh over ssh, I don't know. My memory is
>> fuzzy, but I think its Robin's preference to use git+ssh to mean an
>> SSH URI that is speaking Git over it.
>
> Nah, I've always use ssh://. I don't think I've every typed the
> combination "git+ssh" (before this mail). The code for cloning has been
> written and rewritten many times and one of these "someone" (not me!) felt the
> need to have only one name for the ssh protcol and chose "git+ssh". And the
> rest of us were so excited about the GUI's so we did not see that or forgot
> about it during review
Ok, in that case, can we teach EGit that "ssh" is the canonical form, and treat the others as aliases? If so, I'll raise a bug and submit a patch.
Alex