{"action":"created","issue":{"url":"https://api.github.com/repos/pantsbuild/pants/issues/1363","labels_url":"https://api.github.com/repos/pantsbuild/pants/issues/1363/labels{/name}","comments_url":"https://api.github.com/repos/pantsbuild/pants/issues/1363/comments","events_url":"https://api.github.com/repos/pantsbuild/pants/issues/1363/events","html_url":"https://github.com/pantsbuild/pants/issues/1363","id":65992574,"number":1363,"title":"ids created by Address.path_safe_spec() are not unique","user":{"login":"ericzundel","id":119728,"avatar_url":"https://avatars.githubusercontent.com/u/119728?v=3","gravatar_id":"","url":"https://api.github.com/users/ericzundel","html_url":"https://github.com/ericzundel","followers_url":"https://api.github.com/users/ericzundel/followers","following_url":"https://api.github.com/users/ericzundel/following{/other_user}","gists_url":"https://api.github.com/users/ericzundel/gists{/gist_id}","starred_url":"https://api.github.com/users/ericzundel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericzundel/subscriptions","organizations_url":"https://api.github.com/users/ericzundel/orgs","repos_url":"https://api.github.com/users/ericzundel/repos","events_url":"https://api.github.com/users/ericzundel/events{/privacy}","received_events_url":"https://api.github.com/users/ericzundel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"mateor","id":1743873,"avatar_url":"https://avatars.githubusercontent.com/u/1743873?v=3","gravatar_id":"","url":"https://api.github.com/users/mateor","html_url":"https://github.com/mateor","followers_url":"https://api.github.com/users/mateor/followers","following_url":"https://api.github.com/users/mateor/following{/other_user}","gists_url":"https://api.github.com/users/mateor/gists{/gist_id}","starred_url":"https://api.github.com/users/mateor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mateor/subscriptions","organizations_url":"https://api.github.com/users/mateor/orgs","repos_url":"https://api.github.com/users/mateor/repos","events_url":"https://api.github.com/users/mateor/events{/privacy}","received_events_url":"https://api.github.com/users/mateor/received_events","type":"User","site_admin":false},"milestone":null,"comments":17,"created_at":"2015-04-02T19:12:54Z","updated_at":"2015-07-07T23:59:04Z","closed_at":null,"body":"This came up in a conversation in https://rbcommons.com/s/twitter/r/2021\r\n\r\nIf a target is defined with a '.' in the name, you could get collisions. E.g. the specs:\r\n\r\n```\r\nfoo/bar:baz\r\nfoo:bar.baz\r\n```\r\nboth map to\r\n\r\n```\r\nfoo.bar.baz\r\n```\r\nwhen you run them through Address.path_safe_spec()\r\n\r\nOne solution is to transform the ':' into another character that is legal in a filename but not legal in a target name. I'm not sure what that would be though.\r\n\r\nAnother solution would be to make '.' illegal in a target name.\r\n"},"comment":{"url":"https://api.github.com/repos/pantsbuild/pants/issues/comments/119377184","html_url":"https://github.com/pantsbuild/pants/issues/1363#issuecomment-119377184","issue_url":"https://api.github.com/repos/pantsbuild/pants/issues/1363","id":119377184,"user":{"login":"mateor","id":1743873,"avatar_url":"https://avatars.githubusercontent.com/u/1743873?v=3","gravatar_id":"","url":"https://api.github.com/users/mateor","html_url":"https://github.com/mateor","followers_url":"https://api.github.com/users/mateor/followers","following_url":"https://api.github.com/users/mateor/following{/other_user}","gists_url":"https://api.github.com/users/mateor/gists{/gist_id}","starred_url":"https://api.github.com/users/mateor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mateor/subscriptions","organizations_url":"https://api.github.com/users/mateor/orgs","repos_url":"https://api.github.com/users/mateor/repos","events_url":"https://api.github.com/users/mateor/events{/privacy}","received_events_url":"https://api.github.com/users/mateor/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T23:59:04Z","updated_at":"2015-07-07T23:59:04Z","body":"Okay, point two sounds right. I will run a few experiments and if the \":\" is not handled than\r\nI will add a ban on it. "}}