{"action":"closed","number":5228,"pull_request":{"url":"https://api.github.com/repos/bundler/bundler/pulls/5228","id":96424005,"html_url":"https://github.com/bundler/bundler/pull/5228","diff_url":"https://github.com/bundler/bundler/pull/5228.diff","patch_url":"https://github.com/bundler/bundler/pull/5228.patch","issue_url":"https://api.github.com/repos/bundler/bundler/issues/5228","number":5228,"state":"closed","locked":false,"title":"Duplicate existing definition in Installer","user":{"login":"colby-swandale","id":996377,"avatar_url":"https://avatars.githubusercontent.com/u/996377?v=3","gravatar_id":"","url":"https://api.github.com/users/colby-swandale","html_url":"https://github.com/colby-swandale","followers_url":"https://api.github.com/users/colby-swandale/followers","following_url":"https://api.github.com/users/colby-swandale/following{/other_user}","gists_url":"https://api.github.com/users/colby-swandale/gists{/gist_id}","starred_url":"https://api.github.com/users/colby-swandale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colby-swandale/subscriptions","organizations_url":"https://api.github.com/users/colby-swandale/orgs","repos_url":"https://api.github.com/users/colby-swandale/repos","events_url":"https://api.github.com/users/colby-swandale/events{/privacy}","received_events_url":"https://api.github.com/users/colby-swandale/received_events","type":"User","site_admin":false},"body":"When i `bundle install`, Bundler is creating 2 Definitions (which means it's parsing the Gemfile + Gemfile.lock multiple times) which we can see this by having `puts \"Parsing Gemfile` in the `Gemfile`\r\n\r\n```\r\n$ ruby -I ../bundler/lib ../bundler/exe/bundle install\r\nparsing gemfile...\r\nparsing gemfile...\r\nUsing rack 2.0.1\r\nUsing bundler 1.13.6\r\nBundle complete! 1 Gemfile dependency, 2 gems now installed.\r\nUse `bundle show [gemname]` to see where a bundled gem is installed.\r\n```\r\n\r\nLooking at the implementation of Installer and Definition, this seems rather unnecessary. This change makes a small optimisation by duplicating the definition that exists already inside Installer.\r\n\r\nI can't use `true unless @definition.new_platform? || @definition.missing_dependencies.any?` because there appears to be some internals state in `Installer` that is preventing me from doing so but maybe this is something to look at in the future.","created_at":"2016-12-04T06:55:02Z","updated_at":"2016-12-04T07:29:56Z","closed_at":"2016-12-04T07:29:56Z","merged_at":null,"merge_commit_sha":"97b9c2402fa61be95914fe137996febe18c78bf6","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/bundler/bundler/pulls/5228/commits","review_comments_url":"https://api.github.com/repos/bundler/bundler/pulls/5228/comments","review_comment_url":"https://api.github.com/repos/bundler/bundler/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bundler/bundler/issues/5228/comments","statuses_url":"https://api.github.com/repos/bundler/bundler/statuses/0b18a5af179e4760403808bf60b3f9719297a3a3","head":{"label":"colby-swandale:duplicate-install-definition","ref":"duplicate-install-definition","sha":"0b18a5af179e4760403808bf60b3f9719297a3a3","user":{"login":"colby-swandale","id":996377,"avatar_url":"https://avatars.githubusercontent.com/u/996377?v=3","gravatar_id":"","url":"https://api.github.com/users/colby-swandale","html_url":"https://github.com/colby-swandale","followers_url":"https://api.github.com/users/colby-swandale/followers","following_url":"https://api.github.com/users/colby-swandale/following{/other_user}","gists_url":"https://api.github.com/users/colby-swandale/gists{/gist_id}","starred_url":"https://api.github.com/users/colby-swandale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colby-swandale/subscriptions","organizations_url":"https://api.github.com/users/colby-swandale/orgs","repos_url":"https://api.github.com/users/colby-swandale/repos","events_url":"https://api.github.com/users/colby-swandale/events{/privacy}","received_events_url":"https://api.github.com/users/colby-swandale/received_events","type":"User","site_admin":false},"repo":{"id":59476379,"name":"bundler","full_name":"colby-swandale/bundler","owner":{"login":"colby-swandale","id":996377,"avatar_url":"https://avatars.githubusercontent.com/u/996377?v=3","gravatar_id":"","url":"https://api.github.com/users/colby-swandale","html_url":"https://github.com/colby-swandale","followers_url":"https://api.github.com/users/colby-swandale/followers","following_url":"https://api.github.com/users/colby-swandale/following{/other_user}","gists_url":"https://api.github.com/users/colby-swandale/gists{/gist_id}","starred_url":"https://api.github.com/users/colby-swandale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colby-swandale/subscriptions","organizations_url":"https://api.github.com/users/colby-swandale/orgs","repos_url":"https://api.github.com/users/colby-swandale/repos","events_url":"https://api.github.com/users/colby-swandale/events{/privacy}","received_events_url":"https://api.github.com/users/colby-swandale/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/colby-swandale/bundler","description":"Manage your application's gem dependencies with less pain","fork":true,"url":"https://api.github.com/repos/colby-swandale/bundler","forks_url":"https://api.github.com/repos/colby-swandale/bundler/forks","keys_url":"https://api.github.com/repos/colby-swandale/bundler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/colby-swandale/bundler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/colby-swandale/bundler/teams","hooks_url":"https://api.github.com/repos/colby-swandale/bundler/hooks","issue_events_url":"https://api.github.com/repos/colby-swandale/bundler/issues/events{/number}","events_url":"https://api.github.com/repos/colby-swandale/bundler/events","assignees_url":"https://api.github.com/repos/colby-swandale/bundler/assignees{/user}","branches_url":"https://api.github.com/repos/colby-swandale/bundler/branches{/branch}","tags_url":"https://api.github.com/repos/colby-swandale/bundler/tags","blobs_url":"https://api.github.com/repos/colby-swandale/bundler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/colby-swandale/bundler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/colby-swandale/bundler/git/refs{/sha}","trees_url":"https://api.github.com/repos/colby-swandale/bundler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/colby-swandale/bundler/statuses/{sha}","languages_url":"https://api.github.com/repos/colby-swandale/bundler/languages","stargazers_url":"https://api.github.com/repos/colby-swandale/bundler/stargazers","contributors_url":"https://api.github.com/repos/colby-swandale/bundler/contributors","subscribers_url":"https://api.github.com/repos/colby-swandale/bundler/subscribers","subscription_url":"https://api.github.com/repos/colby-swandale/bundler/subscription","commits_url":"https://api.github.com/repos/colby-swandale/bundler/commits{/sha}","git_commits_url":"https://api.github.com/repos/colby-swandale/bundler/git/commits{/sha}","comments_url":"https://api.github.com/repos/colby-swandale/bundler/comments{/number}","issue_comment_url":"https://api.github.com/repos/colby-swandale/bundler/issues/comments{/number}","contents_url":"https://api.github.com/repos/colby-swandale/bundler/contents/{+path}","compare_url":"https://api.github.com/repos/colby-swandale/bundler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/colby-swandale/bundler/merges","archive_url":"https://api.github.com/repos/colby-swandale/bundler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/colby-swandale/bundler/downloads","issues_url":"https://api.github.com/repos/colby-swandale/bundler/issues{/number}","pulls_url":"https://api.github.com/repos/colby-swandale/bundler/pulls{/number}","milestones_url":"https://api.github.com/repos/colby-swandale/bundler/milestones{/number}","notifications_url":"https://api.github.com/repos/colby-swandale/bundler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/colby-swandale/bundler/labels{/name}","releases_url":"https://api.github.com/repos/colby-swandale/bundler/releases{/id}","deployments_url":"https://api.github.com/repos/colby-swandale/bundler/deployments","created_at":"2016-05-23T11:14:57Z","updated_at":"2016-05-23T11:15:01Z","pushed_at":"2016-12-04T06:44:02Z","git_url":"git://github.com/colby-swandale/bundler.git","ssh_url":"git@github.com:colby-swandale/bundler.git","clone_url":"https://github.com/colby-swandale/bundler.git","svn_url":"https://github.com/colby-swandale/bundler","homepage":"https://bundler.io","size":16626,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":false,"has_wiki":false,"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":"bundler:master","ref":"master","sha":"1f10c7f07fdbe5b664272d54657b5687bc881810","user":{"login":"bundler","id":1137638,"avatar_url":"https://avatars.githubusercontent.com/u/1137638?v=3","gravatar_id":"","url":"https://api.github.com/users/bundler","html_url":"https://github.com/bundler","followers_url":"https://api.github.com/users/bundler/followers","following_url":"https://api.github.com/users/bundler/following{/other_user}","gists_url":"https://api.github.com/users/bundler/gists{/gist_id}","starred_url":"https://api.github.com/users/bundler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bundler/subscriptions","organizations_url":"https://api.github.com/users/bundler/orgs","repos_url":"https://api.github.com/users/bundler/repos","events_url":"https://api.github.com/users/bundler/events{/privacy}","received_events_url":"https://api.github.com/users/bundler/received_events","type":"Organization","site_admin":false},"repo":{"id":488514,"name":"bundler","full_name":"bundler/bundler","owner":{"login":"bundler","id":1137638,"avatar_url":"https://avatars.githubusercontent.com/u/1137638?v=3","gravatar_id":"","url":"https://api.github.com/users/bundler","html_url":"https://github.com/bundler","followers_url":"https://api.github.com/users/bundler/followers","following_url":"https://api.github.com/users/bundler/following{/other_user}","gists_url":"https://api.github.com/users/bundler/gists{/gist_id}","starred_url":"https://api.github.com/users/bundler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bundler/subscriptions","organizations_url":"https://api.github.com/users/bundler/orgs","repos_url":"https://api.github.com/users/bundler/repos","events_url":"https://api.github.com/users/bundler/events{/privacy}","received_events_url":"https://api.github.com/users/bundler/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bundler/bundler","description":"Manage your Ruby application's gem dependencies","fork":false,"url":"https://api.github.com/repos/bundler/bundler","forks_url":"https://api.github.com/repos/bundler/bundler/forks","keys_url":"https://api.github.com/repos/bundler/bundler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bundler/bundler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bundler/bundler/teams","hooks_url":"https://api.github.com/repos/bundler/bundler/hooks","issue_events_url":"https://api.github.com/repos/bundler/bundler/issues/events{/number}","events_url":"https://api.github.com/repos/bundler/bundler/events","assignees_url":"https://api.github.com/repos/bundler/bundler/assignees{/user}","branches_url":"https://api.github.com/repos/bundler/bundler/branches{/branch}","tags_url":"https://api.github.com/repos/bundler/bundler/tags","blobs_url":"https://api.github.com/repos/bundler/bundler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bundler/bundler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bundler/bundler/git/refs{/sha}","trees_url":"https://api.github.com/repos/bundler/bundler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bundler/bundler/statuses/{sha}","languages_url":"https://api.github.com/repos/bundler/bundler/languages","stargazers_url":"https://api.github.com/repos/bundler/bundler/stargazers","contributors_url":"https://api.github.com/repos/bundler/bundler/contributors","subscribers_url":"https://api.github.com/repos/bundler/bundler/subscribers","subscription_url":"https://api.github.com/repos/bundler/bundler/subscription","commits_url":"https://api.github.com/repos/bundler/bundler/commits{/sha}","git_commits_url":"https://api.github.com/repos/bundler/bundler/git/commits{/sha}","comments_url":"https://api.github.com/repos/bundler/bundler/comments{/number}","issue_comment_url":"https://api.github.com/repos/bundler/bundler/issues/comments{/number}","contents_url":"https://api.github.com/repos/bundler/bundler/contents/{+path}","compare_url":"https://api.github.com/repos/bundler/bundler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bundler/bundler/merges","archive_url":"https://api.github.com/repos/bundler/bundler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bundler/bundler/downloads","issues_url":"https://api.github.com/repos/bundler/bundler/issues{/number}","pulls_url":"https://api.github.com/repos/bundler/bundler/pulls{/number}","milestones_url":"https://api.github.com/repos/bundler/bundler/milestones{/number}","notifications_url":"https://api.github.com/repos/bundler/bundler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bundler/bundler/labels{/name}","releases_url":"https://api.github.com/repos/bundler/bundler/releases{/id}","deployments_url":"https://api.github.com/repos/bundler/bundler/deployments","created_at":"2010-01-26T00:46:38Z","updated_at":"2016-12-02T14:01:49Z","pushed_at":"2016-12-04T06:55:02Z","git_url":"git://github.com/bundler/bundler.git","ssh_url":"git@github.com:bundler/bundler.git","clone_url":"https://github.com/bundler/bundler.git","svn_url":"https://github.com/bundler/bundler","homepage":"https://bundler.io","size":27739,"stargazers_count":3628,"watchers_count":3628,"language":"Ruby","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":true,"forks_count":1691,"mirror_url":null,"open_issues_count":217,"forks":1691,"open_issues":217,"watchers":3628,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bundler/bundler/pulls/5228"},"html":{"href":"https://github.com/bundler/bundler/pull/5228"},"issue":{"href":"https://api.github.com/repos/bundler/bundler/issues/5228"},"comments":{"href":"https://api.github.com/repos/bundler/bundler/issues/5228/comments"},"review_comments":{"href":"https://api.github.com/repos/bundler/bundler/pulls/5228/comments"},"review_comment":{"href":"https://api.github.com/repos/bundler/bundler/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bundler/bundler/pulls/5228/commits"},"statuses":{"href":"https://api.github.com/repos/bundler/bundler/statuses/0b18a5af179e4760403808bf60b3f9719297a3a3"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":3,"review_comments":0,"commits":1,"additions":1,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"colby-swandale"}}