summaryrefslogtreecommitdiff
path: root/lib/bundler
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-09-12 22:20:22 -0700
committerSamuel Giddins <segiddins@segiddins.me>2017-09-13 16:06:22 -0500
commitb29fa44645888f0240c5b6ce18c9c55d5cd76088 (patch)
treebb492c6656f4ad3c32d8b766de58edbb3642db8e /lib/bundler
parent570289498284575c33ba45374c8eedbffde2d1fb (diff)
downloadbundler-b29fa44645888f0240c5b6ce18c9c55d5cd76088.tar.gz
Dont consider deps pinned on 1.x if they dont have an explicit source
Diffstat (limited to 'lib/bundler')
-rw-r--r--lib/bundler/definition.rb2
-rw-r--r--lib/bundler/source/rubygems.rb6
2 files changed, 6 insertions, 2 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