{"action":"created","issue":{"url":"https://api.github.com/repos/puli/issues/issues/129","labels_url":"https://api.github.com/repos/puli/issues/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/puli/issues/issues/129/comments","events_url":"https://api.github.com/repos/puli/issues/issues/129/events","html_url":"https://github.com/puli/issues/issues/129","id":110382288,"number":129,"title":"Links should be handled properly when adding/removing resources","user":{"login":"webmozart","id":176399,"avatar_url":"https://avatars.githubusercontent.com/u/176399?v=3","gravatar_id":"","url":"https://api.github.com/users/webmozart","html_url":"https://github.com/webmozart","followers_url":"https://api.github.com/users/webmozart/followers","following_url":"https://api.github.com/users/webmozart/following{/other_user}","gists_url":"https://api.github.com/users/webmozart/gists{/gist_id}","starred_url":"https://api.github.com/users/webmozart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/webmozart/subscriptions","organizations_url":"https://api.github.com/users/webmozart/orgs","repos_url":"https://api.github.com/users/webmozart/repos","events_url":"https://api.github.com/users/webmozart/events{/privacy}","received_events_url":"https://api.github.com/users/webmozart/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/puli/issues/labels/Bug","name":"Bug","color":"fc2929"},{"url":"https://api.github.com/repos/puli/issues/labels/Repository","name":"Repository","color":"e6e6e6"}],"state":"open","locked":false,"assignee":{"login":"tgalopin","id":1651494,"avatar_url":"https://avatars.githubusercontent.com/u/1651494?v=3","gravatar_id":"","url":"https://api.github.com/users/tgalopin","html_url":"https://github.com/tgalopin","followers_url":"https://api.github.com/users/tgalopin/followers","following_url":"https://api.github.com/users/tgalopin/following{/other_user}","gists_url":"https://api.github.com/users/tgalopin/gists{/gist_id}","starred_url":"https://api.github.com/users/tgalopin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgalopin/subscriptions","organizations_url":"https://api.github.com/users/tgalopin/orgs","repos_url":"https://api.github.com/users/tgalopin/repos","events_url":"https://api.github.com/users/tgalopin/events{/privacy}","received_events_url":"https://api.github.com/users/tgalopin/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/puli/issues/milestones/5","html_url":"https://github.com/puli/issues/milestones/1.0-beta10","labels_url":"https://api.github.com/repos/puli/issues/milestones/5/labels","id":1331804,"number":5,"title":"1.0-beta10","description":"","creator":{"login":"webmozart","id":176399,"avatar_url":"https://avatars.githubusercontent.com/u/176399?v=3","gravatar_id":"","url":"https://api.github.com/users/webmozart","html_url":"https://github.com/webmozart","followers_url":"https://api.github.com/users/webmozart/followers","following_url":"https://api.github.com/users/webmozart/following{/other_user}","gists_url":"https://api.github.com/users/webmozart/gists{/gist_id}","starred_url":"https://api.github.com/users/webmozart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/webmozart/subscriptions","organizations_url":"https://api.github.com/users/webmozart/orgs","repos_url":"https://api.github.com/users/webmozart/repos","events_url":"https://api.github.com/users/webmozart/events{/privacy}","received_events_url":"https://api.github.com/users/webmozart/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":12,"state":"open","created_at":"2015-09-30T18:09:01Z","updated_at":"2015-11-01T18:35:41Z","due_on":"2015-10-30T23:00:00Z","closed_at":null},"comments":4,"created_at":"2015-10-08T06:32:14Z","updated_at":"2015-11-02T09:49:06Z","closed_at":null,"body":"When adding resources to or removing them from a repository, linked directories should be handled properly. Some cases that come to mind:\r\n\r\n* When adding `/link/file` where `/link` => `/target`, the file should be added at `/target/file`\r\n* When adding `/link1/file` where `/link1` => `/link2` and `/link2` => `/target`, the file should be added at `/target/file`\r\n* Same for files in sub-directories of a link, e.g. `/link/dir/file`\r\n* Same for removal\r\n* When replacing a directory with a link, the contents of that directory must be removed first. E.g. when adding a `LinkResource` to `/dir` where `/dir/file` existed before, that file must not exist anymore after adding the link (unless of course `/target/file` exists)\r\n\r\nMaybe there are some more cases that need to be tested."},"comment":{"url":"https://api.github.com/repos/puli/issues/issues/comments/152972894","html_url":"https://github.com/puli/issues/issues/129#issuecomment-152972894","issue_url":"https://api.github.com/repos/puli/issues/issues/129","id":152972894,"user":{"login":"tgalopin","id":1651494,"avatar_url":"https://avatars.githubusercontent.com/u/1651494?v=3","gravatar_id":"","url":"https://api.github.com/users/tgalopin","html_url":"https://github.com/tgalopin","followers_url":"https://api.github.com/users/tgalopin/followers","following_url":"https://api.github.com/users/tgalopin/following{/other_user}","gists_url":"https://api.github.com/users/tgalopin/gists{/gist_id}","starred_url":"https://api.github.com/users/tgalopin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgalopin/subscriptions","organizations_url":"https://api.github.com/users/tgalopin/orgs","repos_url":"https://api.github.com/users/tgalopin/repos","events_url":"https://api.github.com/users/tgalopin/events{/privacy}","received_events_url":"https://api.github.com/users/tgalopin/received_events","type":"User","site_admin":false},"created_at":"2015-11-02T09:49:06Z","updated_at":"2015-11-02T09:49:06Z","body":"@msojda I did start to work on this but I didn't do much so don't hesitate to try :) . If you need help, I can probably give a hand :) ."}}