{"action":"opened","number":229,"pull_request":{"url":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/229","id":91721382,"html_url":"https://github.com/itamae-kitchen/itamae/pull/229","diff_url":"https://github.com/itamae-kitchen/itamae/pull/229.diff","patch_url":"https://github.com/itamae-kitchen/itamae/pull/229.patch","issue_url":"https://api.github.com/repos/itamae-kitchen/itamae/issues/229","number":229,"state":"open","locked":false,"title":"Support force link a direcotory","user":{"login":"civitaspo","id":4525500,"avatar_url":"https://avatars.githubusercontent.com/u/4525500?v=3","gravatar_id":"","url":"https://api.github.com/users/civitaspo","html_url":"https://github.com/civitaspo","followers_url":"https://api.github.com/users/civitaspo/followers","following_url":"https://api.github.com/users/civitaspo/following{/other_user}","gists_url":"https://api.github.com/users/civitaspo/gists{/gist_id}","starred_url":"https://api.github.com/users/civitaspo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/civitaspo/subscriptions","organizations_url":"https://api.github.com/users/civitaspo/orgs","repos_url":"https://api.github.com/users/civitaspo/repos","events_url":"https://api.github.com/users/civitaspo/events{/privacy}","received_events_url":"https://api.github.com/users/civitaspo/received_events","type":"User","site_admin":false},"body":"Hi maintainers\r\n\r\nOn [v2.64.0](https://github.com/mizzy/specinfra/releases/tag/v2.64.0), specinfra supports link no-dereference option.\r\nThis p-r is to apply this change.\r\n\r\n## Discussion Point\r\n\r\nI let the `no_dereference` option melted to `force` option. It's because ...\r\n  - In the context of provisioning, the behaviour should not be changed by whether the target is a file symlink, a directory symlink, a file or a directory.\r\n  - [`chef`](https://github.com/chef/chef/blob/719718f35169670bd79be8cd595bdf0fe4b0e221/lib/chef/provider/link.rb#L101-L118) always deletes the old file symlink, directory symlink, file or directory before linking new.\r\n\r\nI wanna discuss the above because the default behaviour may be changed.\r\n\r\n## What I wanna resolve\r\n\r\nFor example, I manage versions of google-cloud-sdk by using symlink. In the below case, I need to change the `current` symlink destination to upgrade `google-cloud-sdk-100.0.0-linux-x86_64` to `google-cloud-sdk-132.0.0-linux-x86_64`. However, now itamae supports only `-f` option, so the new symlink is created under the `current` directory.\r\n\r\n```\r\n# ls -l /opt/google-cloud-sdk/\r\ntotal 8\r\nlrwxrwxrwx 1 root root   37 Oct 27 11:31 current -> google-cloud-sdk-100.0.0-linux-x86_64\r\ndrwxr-xr-x 7 root root 4096 Oct 27 11:31 google-cloud-sdk-100.0.0-linux-x86_64\r\ndrwxr-xr-x 7 root root 4096 Oct 24 15:27 google-cloud-sdk-132.0.0-linux-x86_64\r\n```\r\n\r\n```\r\nlink \"current\" do\r\n  to \"google-cloud-sdk-132.0.0-linux-x86_64\"\r\n  force true\r\nend\r\n```\r\n\r\n---\r\n\r\nThat's it. Could you check this?","created_at":"2016-11-01T01:45:13Z","updated_at":"2016-11-01T01:45:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/229/commits","review_comments_url":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/229/comments","review_comment_url":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itamae-kitchen/itamae/issues/229/comments","statuses_url":"https://api.github.com/repos/itamae-kitchen/itamae/statuses/f6fa1ab9bff558133a57fba44692a15fb3e42941","head":{"label":"civitaspo:change_link_force_behaviour","ref":"change_link_force_behaviour","sha":"f6fa1ab9bff558133a57fba44692a15fb3e42941","user":{"login":"civitaspo","id":4525500,"avatar_url":"https://avatars.githubusercontent.com/u/4525500?v=3","gravatar_id":"","url":"https://api.github.com/users/civitaspo","html_url":"https://github.com/civitaspo","followers_url":"https://api.github.com/users/civitaspo/followers","following_url":"https://api.github.com/users/civitaspo/following{/other_user}","gists_url":"https://api.github.com/users/civitaspo/gists{/gist_id}","starred_url":"https://api.github.com/users/civitaspo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/civitaspo/subscriptions","organizations_url":"https://api.github.com/users/civitaspo/orgs","repos_url":"https://api.github.com/users/civitaspo/repos","events_url":"https://api.github.com/users/civitaspo/events{/privacy}","received_events_url":"https://api.github.com/users/civitaspo/received_events","type":"User","site_admin":false},"repo":{"id":72278696,"name":"itamae","full_name":"civitaspo/itamae","owner":{"login":"civitaspo","id":4525500,"avatar_url":"https://avatars.githubusercontent.com/u/4525500?v=3","gravatar_id":"","url":"https://api.github.com/users/civitaspo","html_url":"https://github.com/civitaspo","followers_url":"https://api.github.com/users/civitaspo/followers","following_url":"https://api.github.com/users/civitaspo/following{/other_user}","gists_url":"https://api.github.com/users/civitaspo/gists{/gist_id}","starred_url":"https://api.github.com/users/civitaspo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/civitaspo/subscriptions","organizations_url":"https://api.github.com/users/civitaspo/orgs","repos_url":"https://api.github.com/users/civitaspo/repos","events_url":"https://api.github.com/users/civitaspo/events{/privacy}","received_events_url":"https://api.github.com/users/civitaspo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/civitaspo/itamae","description":"Configuration management tool inspired by Chef, but simpler and lightweight. Formerly known as Lightchef.","fork":true,"url":"https://api.github.com/repos/civitaspo/itamae","forks_url":"https://api.github.com/repos/civitaspo/itamae/forks","keys_url":"https://api.github.com/repos/civitaspo/itamae/keys{/key_id}","collaborators_url":"https://api.github.com/repos/civitaspo/itamae/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/civitaspo/itamae/teams","hooks_url":"https://api.github.com/repos/civitaspo/itamae/hooks","issue_events_url":"https://api.github.com/repos/civitaspo/itamae/issues/events{/number}","events_url":"https://api.github.com/repos/civitaspo/itamae/events","assignees_url":"https://api.github.com/repos/civitaspo/itamae/assignees{/user}","branches_url":"https://api.github.com/repos/civitaspo/itamae/branches{/branch}","tags_url":"https://api.github.com/repos/civitaspo/itamae/tags","blobs_url":"https://api.github.com/repos/civitaspo/itamae/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/civitaspo/itamae/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/civitaspo/itamae/git/refs{/sha}","trees_url":"https://api.github.com/repos/civitaspo/itamae/git/trees{/sha}","statuses_url":"https://api.github.com/repos/civitaspo/itamae/statuses/{sha}","languages_url":"https://api.github.com/repos/civitaspo/itamae/languages","stargazers_url":"https://api.github.com/repos/civitaspo/itamae/stargazers","contributors_url":"https://api.github.com/repos/civitaspo/itamae/contributors","subscribers_url":"https://api.github.com/repos/civitaspo/itamae/subscribers","subscription_url":"https://api.github.com/repos/civitaspo/itamae/subscription","commits_url":"https://api.github.com/repos/civitaspo/itamae/commits{/sha}","git_commits_url":"https://api.github.com/repos/civitaspo/itamae/git/commits{/sha}","comments_url":"https://api.github.com/repos/civitaspo/itamae/comments{/number}","issue_comment_url":"https://api.github.com/repos/civitaspo/itamae/issues/comments{/number}","contents_url":"https://api.github.com/repos/civitaspo/itamae/contents/{+path}","compare_url":"https://api.github.com/repos/civitaspo/itamae/compare/{base}...{head}","merges_url":"https://api.github.com/repos/civitaspo/itamae/merges","archive_url":"https://api.github.com/repos/civitaspo/itamae/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/civitaspo/itamae/downloads","issues_url":"https://api.github.com/repos/civitaspo/itamae/issues{/number}","pulls_url":"https://api.github.com/repos/civitaspo/itamae/pulls{/number}","milestones_url":"https://api.github.com/repos/civitaspo/itamae/milestones{/number}","notifications_url":"https://api.github.com/repos/civitaspo/itamae/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/civitaspo/itamae/labels{/name}","releases_url":"https://api.github.com/repos/civitaspo/itamae/releases{/id}","deployments_url":"https://api.github.com/repos/civitaspo/itamae/deployments","created_at":"2016-10-29T10:31:48Z","updated_at":"2016-10-29T10:31:50Z","pushed_at":"2016-11-01T00:44:15Z","git_url":"git://github.com/civitaspo/itamae.git","ssh_url":"git@github.com:civitaspo/itamae.git","clone_url":"https://github.com/civitaspo/itamae.git","svn_url":"https://github.com/civitaspo/itamae","homepage":"http://itamae.kitchen/","size":704,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"itamae-kitchen:master","ref":"master","sha":"0d548655aa9528bd1335ecb3b4a6880d7d6ad4ea","user":{"login":"itamae-kitchen","id":10345441,"avatar_url":"https://avatars.githubusercontent.com/u/10345441?v=3","gravatar_id":"","url":"https://api.github.com/users/itamae-kitchen","html_url":"https://github.com/itamae-kitchen","followers_url":"https://api.github.com/users/itamae-kitchen/followers","following_url":"https://api.github.com/users/itamae-kitchen/following{/other_user}","gists_url":"https://api.github.com/users/itamae-kitchen/gists{/gist_id}","starred_url":"https://api.github.com/users/itamae-kitchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itamae-kitchen/subscriptions","organizations_url":"https://api.github.com/users/itamae-kitchen/orgs","repos_url":"https://api.github.com/users/itamae-kitchen/repos","events_url":"https://api.github.com/users/itamae-kitchen/events{/privacy}","received_events_url":"https://api.github.com/users/itamae-kitchen/received_events","type":"Organization","site_admin":false},"repo":{"id":15393024,"name":"itamae","full_name":"itamae-kitchen/itamae","owner":{"login":"itamae-kitchen","id":10345441,"avatar_url":"https://avatars.githubusercontent.com/u/10345441?v=3","gravatar_id":"","url":"https://api.github.com/users/itamae-kitchen","html_url":"https://github.com/itamae-kitchen","followers_url":"https://api.github.com/users/itamae-kitchen/followers","following_url":"https://api.github.com/users/itamae-kitchen/following{/other_user}","gists_url":"https://api.github.com/users/itamae-kitchen/gists{/gist_id}","starred_url":"https://api.github.com/users/itamae-kitchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itamae-kitchen/subscriptions","organizations_url":"https://api.github.com/users/itamae-kitchen/orgs","repos_url":"https://api.github.com/users/itamae-kitchen/repos","events_url":"https://api.github.com/users/itamae-kitchen/events{/privacy}","received_events_url":"https://api.github.com/users/itamae-kitchen/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/itamae-kitchen/itamae","description":"Configuration management tool inspired by Chef, but simpler and lightweight. Formerly known as Lightchef.","fork":false,"url":"https://api.github.com/repos/itamae-kitchen/itamae","forks_url":"https://api.github.com/repos/itamae-kitchen/itamae/forks","keys_url":"https://api.github.com/repos/itamae-kitchen/itamae/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itamae-kitchen/itamae/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itamae-kitchen/itamae/teams","hooks_url":"https://api.github.com/repos/itamae-kitchen/itamae/hooks","issue_events_url":"https://api.github.com/repos/itamae-kitchen/itamae/issues/events{/number}","events_url":"https://api.github.com/repos/itamae-kitchen/itamae/events","assignees_url":"https://api.github.com/repos/itamae-kitchen/itamae/assignees{/user}","branches_url":"https://api.github.com/repos/itamae-kitchen/itamae/branches{/branch}","tags_url":"https://api.github.com/repos/itamae-kitchen/itamae/tags","blobs_url":"https://api.github.com/repos/itamae-kitchen/itamae/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itamae-kitchen/itamae/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itamae-kitchen/itamae/git/refs{/sha}","trees_url":"https://api.github.com/repos/itamae-kitchen/itamae/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itamae-kitchen/itamae/statuses/{sha}","languages_url":"https://api.github.com/repos/itamae-kitchen/itamae/languages","stargazers_url":"https://api.github.com/repos/itamae-kitchen/itamae/stargazers","contributors_url":"https://api.github.com/repos/itamae-kitchen/itamae/contributors","subscribers_url":"https://api.github.com/repos/itamae-kitchen/itamae/subscribers","subscription_url":"https://api.github.com/repos/itamae-kitchen/itamae/subscription","commits_url":"https://api.github.com/repos/itamae-kitchen/itamae/commits{/sha}","git_commits_url":"https://api.github.com/repos/itamae-kitchen/itamae/git/commits{/sha}","comments_url":"https://api.github.com/repos/itamae-kitchen/itamae/comments{/number}","issue_comment_url":"https://api.github.com/repos/itamae-kitchen/itamae/issues/comments{/number}","contents_url":"https://api.github.com/repos/itamae-kitchen/itamae/contents/{+path}","compare_url":"https://api.github.com/repos/itamae-kitchen/itamae/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itamae-kitchen/itamae/merges","archive_url":"https://api.github.com/repos/itamae-kitchen/itamae/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itamae-kitchen/itamae/downloads","issues_url":"https://api.github.com/repos/itamae-kitchen/itamae/issues{/number}","pulls_url":"https://api.github.com/repos/itamae-kitchen/itamae/pulls{/number}","milestones_url":"https://api.github.com/repos/itamae-kitchen/itamae/milestones{/number}","notifications_url":"https://api.github.com/repos/itamae-kitchen/itamae/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itamae-kitchen/itamae/labels{/name}","releases_url":"https://api.github.com/repos/itamae-kitchen/itamae/releases{/id}","deployments_url":"https://api.github.com/repos/itamae-kitchen/itamae/deployments","created_at":"2013-12-23T10:30:26Z","updated_at":"2016-10-28T10:38:09Z","pushed_at":"2016-10-27T00:35:55Z","git_url":"git://github.com/itamae-kitchen/itamae.git","ssh_url":"git@github.com:itamae-kitchen/itamae.git","clone_url":"https://github.com/itamae-kitchen/itamae.git","svn_url":"https://github.com/itamae-kitchen/itamae","homepage":"http://itamae.kitchen/","size":756,"stargazers_count":722,"watchers_count":722,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":90,"mirror_url":null,"open_issues_count":28,"forks":90,"open_issues":28,"watchers":722,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/229"},"html":{"href":"https://github.com/itamae-kitchen/itamae/pull/229"},"issue":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/issues/229"},"comments":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/issues/229/comments"},"review_comments":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/229/comments"},"review_comment":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/pulls/229/commits"},"statuses":{"href":"https://api.github.com/repos/itamae-kitchen/itamae/statuses/f6fa1ab9bff558133a57fba44692a15fb3e42941"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":12,"deletions":5,"changed_files":4}}
{"actor":{"display_login":"civitaspo"}}