{"action":"created","issue":{"url":"https://api.github.com/repos/git-for-windows/git/issues/117","labels_url":"https://api.github.com/repos/git-for-windows/git/issues/117/labels{/name}","comments_url":"https://api.github.com/repos/git-for-windows/git/issues/117/comments","events_url":"https://api.github.com/repos/git-for-windows/git/issues/117/events","html_url":"https://github.com/git-for-windows/git/issues/117","id":71212399,"number":117,"title":"Create symlinks when cloning repos with symlinks","user":{"login":"dandv","id":33569,"avatar_url":"https://avatars.githubusercontent.com/u/33569?v=3","gravatar_id":"","url":"https://api.github.com/users/dandv","html_url":"https://github.com/dandv","followers_url":"https://api.github.com/users/dandv/followers","following_url":"https://api.github.com/users/dandv/following{/other_user}","gists_url":"https://api.github.com/users/dandv/gists{/gist_id}","starred_url":"https://api.github.com/users/dandv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dandv/subscriptions","organizations_url":"https://api.github.com/users/dandv/orgs","repos_url":"https://api.github.com/users/dandv/repos","events_url":"https://api.github.com/users/dandv/events{/privacy}","received_events_url":"https://api.github.com/users/dandv/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/git-for-windows/git/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":24,"created_at":"2015-04-27T08:15:51Z","updated_at":"2015-04-28T23:45:57Z","closed_at":null,"body":"I understand the \"symlinks on Windows\" problem is non-trivial, and there's been ongoing work to support them. Right now cloning a [repo with a file symlink](https://github.com/ariofrio/symlink-test) will create a plain text file corresponding to the symlink.\r\n\r\nTested with the portable 64-bit `git version 2.3.6.windows.2` in an Admin git-bash prompt on Windows 7."},"comment":{"url":"https://api.github.com/repos/git-for-windows/git/issues/comments/97264945","html_url":"https://github.com/git-for-windows/git/issues/117#issuecomment-97264945","issue_url":"https://api.github.com/repos/git-for-windows/git/issues/117","id":97264945,"user":{"login":"elieux","id":1399406,"avatar_url":"https://avatars.githubusercontent.com/u/1399406?v=3","gravatar_id":"","url":"https://api.github.com/users/elieux","html_url":"https://github.com/elieux","followers_url":"https://api.github.com/users/elieux/followers","following_url":"https://api.github.com/users/elieux/following{/other_user}","gists_url":"https://api.github.com/users/elieux/gists{/gist_id}","starred_url":"https://api.github.com/users/elieux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elieux/subscriptions","organizations_url":"https://api.github.com/users/elieux/orgs","repos_url":"https://api.github.com/users/elieux/repos","events_url":"https://api.github.com/users/elieux/events{/privacy}","received_events_url":"https://api.github.com/users/elieux/received_events","type":"User","site_admin":false},"created_at":"2015-04-28T23:45:57Z","updated_at":"2015-04-28T23:45:57Z","body":"Are we talking about the same thing? It's true that NTFS symlinks are implemented using reparse points, but they're ostensibly not the same thing, so if a source makes statements about reparse points, it doesn't necessarily mean that the same applies for NTFS symlinks. Specific points below.\r\n\r\n> NTFS reparse points cannot span file systems\r\n\r\n```\r\nD:\\> mklink foo C:\\bootmgr\r\nsymbolic link created for foo <<===>> C:\\bootmgr\r\n\r\nD:\\> dir foo\r\n29. 04. 2015  01:36    <SYMLINK>      foo [C:\\bootmgr]\r\n```\r\n\r\n> the targets of NTFS reparse points must exist before the reparse points are created\r\n\r\nAlthough this is true of the Cygwin `ln -s` implementation (because it needs to know whether to create a directory or file symlink), NTFS symlinks can point to non-existing paths just fine.\r\n\r\n```\r\nD:\\> mklink bar C:\\bar\r\nsymbolic link created for bar <<===>> C:\\bar\r\n\r\nD:\\> type bar\r\nThe system cannot find the file specified.\r\n```\r\n"}}