{"action":"created","issue":{"url":"https://api.github.com/repos/google/bazel/issues/133","labels_url":"https://api.github.com/repos/google/bazel/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/google/bazel/issues/133/comments","events_url":"https://api.github.com/repos/google/bazel/issues/133/events","html_url":"https://github.com/google/bazel/issues/133","id":69171354,"number":133,"title":"glob([\"**\"]) fails on symlink cycles","user":{"login":"kayasoze","id":1332992,"avatar_url":"https://avatars.githubusercontent.com/u/1332992?v=3","gravatar_id":"","url":"https://api.github.com/users/kayasoze","html_url":"https://github.com/kayasoze","followers_url":"https://api.github.com/users/kayasoze/followers","following_url":"https://api.github.com/users/kayasoze/following{/other_user}","gists_url":"https://api.github.com/users/kayasoze/gists{/gist_id}","starred_url":"https://api.github.com/users/kayasoze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kayasoze/subscriptions","organizations_url":"https://api.github.com/users/kayasoze/orgs","repos_url":"https://api.github.com/users/kayasoze/repos","events_url":"https://api.github.com/users/kayasoze/events{/privacy}","received_events_url":"https://api.github.com/users/kayasoze/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/google/bazel/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/google/bazel/labels/P3","name":"P3","color":"0052cc"}],"state":"closed","locked":false,"assignee":{"login":"laszlocsomor","id":10532244,"avatar_url":"https://avatars.githubusercontent.com/u/10532244?v=3","gravatar_id":"","url":"https://api.github.com/users/laszlocsomor","html_url":"https://github.com/laszlocsomor","followers_url":"https://api.github.com/users/laszlocsomor/followers","following_url":"https://api.github.com/users/laszlocsomor/following{/other_user}","gists_url":"https://api.github.com/users/laszlocsomor/gists{/gist_id}","starred_url":"https://api.github.com/users/laszlocsomor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laszlocsomor/subscriptions","organizations_url":"https://api.github.com/users/laszlocsomor/orgs","repos_url":"https://api.github.com/users/laszlocsomor/repos","events_url":"https://api.github.com/users/laszlocsomor/events{/privacy}","received_events_url":"https://api.github.com/users/laszlocsomor/received_events","type":"User","site_admin":false},"milestone":null,"comments":10,"created_at":"2015-04-17T16:26:59Z","updated_at":"2015-05-12T06:35:26Z","closed_at":"2015-05-11T16:30:22Z","body":"If a directory tree contains a cycle (as with a symlink), bazel will fail.\r\n\r\nExample:\r\n\r\n$ ls -l sys-root/usr/include/include\r\nsys-root/usr/include/include -> ../include\r\n\r\nBuild error:\r\nerror globbing [**]: [redacted]/sys-root/usr/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include/include (Too many levels of symbolic links)."},"comment":{"url":"https://api.github.com/repos/google/bazel/issues/comments/101151894","html_url":"https://github.com/google/bazel/issues/133#issuecomment-101151894","issue_url":"https://api.github.com/repos/google/bazel/issues/133","id":101151894,"user":{"login":"laszlocsomor","id":10532244,"avatar_url":"https://avatars.githubusercontent.com/u/10532244?v=3","gravatar_id":"","url":"https://api.github.com/users/laszlocsomor","html_url":"https://github.com/laszlocsomor","followers_url":"https://api.github.com/users/laszlocsomor/followers","following_url":"https://api.github.com/users/laszlocsomor/following{/other_user}","gists_url":"https://api.github.com/users/laszlocsomor/gists{/gist_id}","starred_url":"https://api.github.com/users/laszlocsomor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laszlocsomor/subscriptions","organizations_url":"https://api.github.com/users/laszlocsomor/orgs","repos_url":"https://api.github.com/users/laszlocsomor/repos","events_url":"https://api.github.com/users/laszlocsomor/events{/privacy}","received_events_url":"https://api.github.com/users/laszlocsomor/received_events","type":"User","site_admin":false},"created_at":"2015-05-12T06:35:26Z","updated_at":"2015-05-12T06:35:26Z","body":"Yes it is, and that is exactly why kayasoze's request sounds reasonable to me: to be able to exclude such directories.\r\n\r\nWe have to means so support this. I'm also not (yet) familiar with glob()'s implementation, but if it's not already implemented as a native SkyFunction, it could use RecursiveFilesystemTraversalFunction which is recursive (requests RFTValues for child Dirents) so it can easily stop at excluded directories while not losing any caching."}}