{"action":"created","issue":{"url":"https://api.github.com/repos/dxw/whippet/issues/5","labels_url":"https://api.github.com/repos/dxw/whippet/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/dxw/whippet/issues/5/comments","events_url":"https://api.github.com/repos/dxw/whippet/issues/5/events","html_url":"https://github.com/dxw/whippet/issues/5","id":56384705,"number":5,"title":"\"whippet plugins install\" sometimes modifies plugins.lock","user":{"login":"tomdxw","id":2256130,"avatar_url":"https://avatars.githubusercontent.com/u/2256130?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdxw","html_url":"https://github.com/tomdxw","followers_url":"https://api.github.com/users/tomdxw/followers","following_url":"https://api.github.com/users/tomdxw/following{/other_user}","gists_url":"https://api.github.com/users/tomdxw/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdxw/subscriptions","organizations_url":"https://api.github.com/users/tomdxw/orgs","repos_url":"https://api.github.com/users/tomdxw/repos","events_url":"https://api.github.com/users/tomdxw/events{/privacy}","received_events_url":"https://api.github.com/users/tomdxw/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dxw/whippet/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"tomdxw","id":2256130,"avatar_url":"https://avatars.githubusercontent.com/u/2256130?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdxw","html_url":"https://github.com/tomdxw","followers_url":"https://api.github.com/users/tomdxw/followers","following_url":"https://api.github.com/users/tomdxw/following{/other_user}","gists_url":"https://api.github.com/users/tomdxw/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdxw/subscriptions","organizations_url":"https://api.github.com/users/tomdxw/orgs","repos_url":"https://api.github.com/users/tomdxw/repos","events_url":"https://api.github.com/users/tomdxw/events{/privacy}","received_events_url":"https://api.github.com/users/tomdxw/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-02-03T14:32:13Z","updated_at":"2015-03-23T13:58:05Z","closed_at":null,"body":"The documentation claims \"Deploys the current set of plugins into your project\", so modification should not be necessary."},"comment":{"url":"https://api.github.com/repos/dxw/whippet/issues/comments/85008341","html_url":"https://github.com/dxw/whippet/issues/5#issuecomment-85008341","issue_url":"https://api.github.com/repos/dxw/whippet/issues/5","id":85008341,"user":{"login":"tomdxw","id":2256130,"avatar_url":"https://avatars.githubusercontent.com/u/2256130?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdxw","html_url":"https://github.com/tomdxw","followers_url":"https://api.github.com/users/tomdxw/followers","following_url":"https://api.github.com/users/tomdxw/following{/other_user}","gists_url":"https://api.github.com/users/tomdxw/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdxw/subscriptions","organizations_url":"https://api.github.com/users/tomdxw/orgs","repos_url":"https://api.github.com/users/tomdxw/repos","events_url":"https://api.github.com/users/tomdxw/events{/privacy}","received_events_url":"https://api.github.com/users/tomdxw/received_events","type":"User","site_admin":false},"created_at":"2015-03-23T13:58:05Z","updated_at":"2015-03-23T13:58:05Z","body":"I can reproduce it now.\r\n\r\nStart with this (plus the mandatory wp-content/plugins, wp-content/themes, and config directories): https://gist.github.com/tomdxw/317b60fcbaf1c2bc3afb\r\n\r\nRun \"whippet plugins install\"\r\n\r\nEnd up with this: https://gist.github.com/tomdxw/52c76be2e8b53e757b21\r\n\r\n> IIRC the behaviour is intended to imitate bundler: i.e. if all plugins are already installed then nothing changes, but if a plugin isn't yet installed then a new hash will be added.\r\n\r\nI can think of an instance where that would go wrong:\r\n\r\n1. A developer adds a line to plugins to install a new plugin and they neglect to run \"whippet plugins install\". They push to staging and it works. So they push to production and it still works.\r\n1. A week later the plugin author makes a major release.\r\n1. The site stops working the next time somebody pushes because of a backwards-incompatible change in the plugin."}}