{"thread":{"id":"12938","subject":"URL Syntax Question","startedAt":"2008-04-01T00:58:00Z","lastAt":"2008-04-01T09:06:06Z","messageCount":3,"participants":["Jon Loeliger","Junio C Hamano","Miklos Vajna"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"73463","messageId":"E1JgUp6-0002Sc-Ts@jdl.com","threadId":"12938","inReplyTo":null,"subject":"URL Syntax Question","fromName":"Jon Loeliger","fromEmail":"jdl@jdl.com","sentAt":"2008-04-01T00:58:00Z","receivedAt":"2008-04-01T00:58:00Z","isPatch":false,"sender":{"key":"jdl@jdl.com","avatar":"https://gravatar.com/avatar/75ce9a10b151acd2c28ec4ab2136dba7b2ff1634530bd04b155981a749d08a64?d=mp&s=160"},"body":"Folks,\n\nOn, for example, the git-clone man page, the stated URLs\nthat are supported include these:\n\n    git://host.xz/path/to/repo.git/\n    git://host.xz/~user/path/to/repo.git/\nand:\n    ssh://[user@]host.xz[:port]/path/to/repo.git/\n    ssh://[user@]host.xz/path/to/repo.git/\n    ssh://[user@]host.xz/~user/path/to/repo.git/\n    ssh://[user@]host.xz/~/path/to/repo.git\nand:\n    rsync://host.xz/path/to/repo.git/\n\nIn the first set, is the non-specified user form also supported?\nThat is, this form:\n\n    git://host.xz/~/path/to/repo.git/\n\nIn the second set, is it fair to generalize and say\nthat they could all be respresented as this:\n\n    ssh://[user1@]host.xz[:port]/[~[user2]/]path/to/repo.git/\n\nWhere user1 is, of course, the authorizing user and user2\nis the file system accessed home directory user.\n\nLastly, how long before the deprecated and third class citizen,\nrsync, is actually _removed_?  Or will it linger for all time?\nAny plans in the works there?\n\n\nAnd is it also true that the trailing / isn't strictly necessary?\n\nThanks,\njdl\n"},{"id":"73485","messageId":"7vej9qgl44.fsf@gitster.siamese.dyndns.org","threadId":"12938","inReplyTo":"E1JgUp6-0002Sc-Ts@jdl.com","subject":"Re: URL Syntax Question","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-04-01T06:11:39Z","receivedAt":"2008-04-01T06:11:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jon Loeliger <jdl@jdl.com> writes:\n\n> On, for example, the git-clone man page, the stated URLs\n> that are supported include these:\n>\n>     git://host.xz/path/to/repo.git/\n>     git://host.xz/~user/path/to/repo.git/\n> and:\n>     ssh://[user@]host.xz[:port]/path/to/repo.git/\n>     ssh://[user@]host.xz/path/to/repo.git/\n>     ssh://[user@]host.xz/~user/path/to/repo.git/\n>     ssh://[user@]host.xz/~/path/to/repo.git\n> and:\n>     rsync://host.xz/path/to/repo.git/\n>\n> In the first set, is the non-specified user form also supported?\n> That is, this form:\n>\n>     git://host.xz/~/path/to/repo.git/\n\nBecause git-daemon protocol does not authenticate, ~/ cannot mean \"home\nfor connecting user\".  It appears that the \"user_path\" modification made\nlong time ago to daemon.c in 603968d (daemon: extend user-relative path\nnotation., 2006-02-04) was sloppily done and does not check and error out\nfor this case, but I think it should.\n\nThe ~user syntax depends on the daemon side running with --user-path\noption; otherwise it won't be accepted.\n\n> In the second set, is it fair to generalize and say\n> that they could all be respresented as this:\n>\n>     ssh://[user1@]host.xz[:port]/[~[user2]/]path/to/repo.git/\n\nWe interpret [:port] part in order to add \"-p port\" parameter to the\ncommand line we invoke \"ssh\" with; \"[user1@]host.xz\" part is handled by\nthe underlying \"ssh\".\n\nThe command line we pass to the \"ssh\" to run on the remote side is either\n\"upload-pack /path/to/repo.git\" or \"upload-pack ~[user2]/path/to/repo.git/\";\nI suspect how it is handled depends on the shell that run on the remote\nend.\n\nPersonally, I'd prefer the scp syntax, which tends to be shorter and\nsweeter, though:\n\n\thost.xz:path/in/my/home/directory/repo.git\n        host.xz:/absolute/path/to/repo.git\n\n> Lastly, how long before the deprecated and third class citizen,\n> rsync, is actually _removed_?  Or will it linger for all time?\n> Any plans in the works there?\n\nI haven't heard of any concrete plans, but it might not be a bad idea to\ndeclare for removal at 2.0.0.  rsync is really the last-ditch protocol,\nand even after we stop supporting it natively, the user can still:\n\n\tcp -lr repo.git local-copy.git ;# prime with what we have\n\trsync -r host.xz/path/to/repo.git local-copy.git\n\nand then use the local-copy.git as if it is the remote one.\n"},{"id":"73489","messageId":"20080401090606.GD3264@genesis.frugalware.org","threadId":"12938","inReplyTo":"7vej9qgl44.fsf@gitster.siamese.dyndns.org","subject":"Re: URL Syntax Question","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-04-01T09:06:06Z","receivedAt":"2008-04-01T09:06:06Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Mon, Mar 31, 2008 at 11:11:39PM -0700, Junio C Hamano <gitster@pobox.com> wrote:\n> Personally, I'd prefer the scp syntax, which tends to be shorter and\n> sweeter, though:\n> \n> \thost.xz:path/in/my/home/directory/repo.git\n>         host.xz:/absolute/path/to/repo.git\n\nSame here, but it seems I'm forced to use ssh:// if there is a custom\nport:\n\n        ssh://host:2222/home/vmiklos/git/repo\n\nworks fine, but I can't omit ssh:// nor the absolute path. Not sure if\nthis is intentional or a bug.\n"}]}