{"action":"created","issue":{"url":"https://api.github.com/repos/libuv/libuv/issues/1877","repository_url":"https://api.github.com/repos/libuv/libuv","labels_url":"https://api.github.com/repos/libuv/libuv/issues/1877/labels{/name}","comments_url":"https://api.github.com/repos/libuv/libuv/issues/1877/comments","events_url":"https://api.github.com/repos/libuv/libuv/issues/1877/events","html_url":"https://github.com/libuv/libuv/issues/1877","id":331631522,"node_id":"MDU6SXNzdWUzMzE2MzE1MjI=","number":1877,"title":"uv_fs_realpath doesn't respect DOS and subst mounts","user":{"login":"manuelnp","id":6459618,"node_id":"MDQ6VXNlcjY0NTk2MTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6459618?v=4","gravatar_id":"","url":"https://api.github.com/users/manuelnp","html_url":"https://github.com/manuelnp","followers_url":"https://api.github.com/users/manuelnp/followers","following_url":"https://api.github.com/users/manuelnp/following{/other_user}","gists_url":"https://api.github.com/users/manuelnp/gists{/gist_id}","starred_url":"https://api.github.com/users/manuelnp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manuelnp/subscriptions","organizations_url":"https://api.github.com/users/manuelnp/orgs","repos_url":"https://api.github.com/users/manuelnp/repos","events_url":"https://api.github.com/users/manuelnp/events{/privacy}","received_events_url":"https://api.github.com/users/manuelnp/received_events","type":"User","site_admin":false},"labels":[{"id":163844368,"node_id":"MDU6TGFiZWwxNjM4NDQzNjg=","url":"https://api.github.com/repos/libuv/libuv/labels/feature-request","name":"feature-request","color":"fad8c7","default":false},{"id":158970478,"node_id":"MDU6TGFiZWwxNTg5NzA0Nzg=","url":"https://api.github.com/repos/libuv/libuv/labels/windows","name":"windows","color":"ab378b","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-06-12T15:09:42Z","updated_at":"2018-06-13T07:20:41Z","closed_at":null,"author_association":"NONE","body":"As stated in uv_fs_realpath documentation, there is a caveat with subst'd drives in Windows which is now hurting in cmake codebase. Instead of following the same path as Node and coding a custom workaround, I would like to come up with a solution here but I don't know if anybody has this issue in his backlog."},"comment":{"url":"https://api.github.com/repos/libuv/libuv/issues/comments/396839580","html_url":"https://github.com/libuv/libuv/issues/1877#issuecomment-396839580","issue_url":"https://api.github.com/repos/libuv/libuv/issues/1877","id":396839580,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NjgzOTU4MA==","user":{"login":"manuelnp","id":6459618,"node_id":"MDQ6VXNlcjY0NTk2MTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6459618?v=4","gravatar_id":"","url":"https://api.github.com/users/manuelnp","html_url":"https://github.com/manuelnp","followers_url":"https://api.github.com/users/manuelnp/followers","following_url":"https://api.github.com/users/manuelnp/following{/other_user}","gists_url":"https://api.github.com/users/manuelnp/gists{/gist_id}","starred_url":"https://api.github.com/users/manuelnp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manuelnp/subscriptions","organizations_url":"https://api.github.com/users/manuelnp/orgs","repos_url":"https://api.github.com/users/manuelnp/repos","events_url":"https://api.github.com/users/manuelnp/events{/privacy}","received_events_url":"https://api.github.com/users/manuelnp/received_events","type":"User","site_admin":false},"created_at":"2018-06-13T07:20:41Z","updated_at":"2018-06-13T07:20:41Z","author_association":"NONE","body":"Dealing with \"Resolved path bypasses subst’d drives.\" caveat stated [in uv_fs_realpath](http://docs.libuv.org/en/v1.x/fs.html#c.uv_fs_realpath).\r\n\r\nlibuv was introduced in CMake to handle IO oparations, specifically uv_fs_realpath came to replace an old custom implemantion to resolve real paths which relyed on Windows built-in fstat function.\r\n\r\nfstat has an issue by which does not resolve symlinks but it handles subst'd drives properly. On the other hand, uv_fs_realpath (which uses Windows GetFinalPathNameByHandle) resolves properly symlinks but also bypasses subst’d drives.\r\n\r\nI hadn't yet the oportunity to spare some time to look into the code but I would like to come up with a solution of some kind, maybe an hybrid implementation betweet fstat and GetFinalPathNameByHandle and/or a precheck for dealing with subst’d drives specifically.\r\n\r\nIn the worst scenario, where I couldn't/shouldn't change uv_fs_realpath behaviour, adding another interface function with this functionality would be handy."}}
{"actor":{"display_login":"manuelnp"}}