diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-09-12 22:20:22 -0700 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-09-13 16:06:22 -0500 |
commit | b29fa44645888f0240c5b6ce18c9c55d5cd76088 (patch) | |
tree | bb492c6656f4ad3c32d8b766de58edbb3642db8e | |
parent | 570289498284575c33ba45374c8eedbffde2d1fb (diff) | |
download | bundler-b29fa44645888f0240c5b6ce18c9c55d5cd76088.tar.gz |
Dont consider deps pinned on 1.x if they dont have an explicit source
-rw-r--r-- | lib/bundler/definition.rb | 2 | ||||
-rw-r--r-- | lib/bundler/source/rubygems.rb | 6 | ||||
-rw-r--r-- | spec/install/gems/dependency_api_spec.rb | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index 02ad967c2a..4b9a781c82 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -923,7 +923,7 @@ module Bundler pinned_names = [] default = Bundler.feature_flag.lockfile_uses_separate_rubygems_sources? && sources.default_source @dependencies.each do |dep| - dep_source = dep.source || default + next unless dep_source = dep.source || default next if dep_source == skip pinned_names << dep.name end diff --git a/lib/bundler/source/rubygems.rb b/lib/bundler/source/rubygems.rb index 02835a5485..6f4157364f 100644 --- a/lib/bundler/source/rubygems.rb +++ b/lib/bundler/source/rubygems.rb @@ -260,7 +260,11 @@ module Bundler unmet_dependency_names = unmet_dependency_names.call unless unmet_dependency_names.nil? - unmet_dependency_names -= remote_specs.spec_names # avoid re-fetching things we've already gotten + if api_fetchers.size <= 1 + # can't do this when there are multiple fetchers because then we might not fetch from _all_ + # of them + unmet_dependency_names -= remote_specs.spec_names # avoid re-fetching things we've already gotten + end return if unmet_dependency_names.empty? end diff --git a/spec/install/gems/dependency_api_spec.rb b/spec/install/gems/dependency_api_spec.rb index 85a7f07092..2ffe4b62d7 100644 --- a/spec/install/gems/dependency_api_spec.rb +++ b/spec/install/gems/dependency_api_spec.rb @@ -320,7 +320,7 @@ RSpec.describe "gemcutter's dependency API" do gem 'somegem', '1.0.0' G - bundle :install, :artifice => "endpoint_extra_api" + bundle! :install, :artifice => "endpoint_extra_api" expect(the_bundle).to include_gems "somegem 1.0.0" expect(the_bundle).to include_gems "activesupport 1.2.3" |