summaryrefslogtreecommitdiff
path: root/lib/bundler/installer.rb
diff options
context:
space:
mode:
authorThe Bundler Bot <bot@bundler.io>2017-06-23 04:35:44 +0000
committerThe Bundler Bot <bot@bundler.io>2017-06-23 04:35:44 +0000
commit1102ec1a06d5971fc3c870b1ed50de8f826c36e4 (patch)
treed3643ab2c47df07025b0872735dada72aad8e471 /lib/bundler/installer.rb
parent4dfff8be27b6582052c24fd58de46bf14763b83c (diff)
parent194706060e50d27269cbdce930310fa8a8f05b80 (diff)
downloadbundler-1102ec1a06d5971fc3c870b1ed50de8f826c36e4.tar.gz
Auto merge of #5806 - bundler:seg-dont-hit-remote-twice, r=indirect
Avoid hitting RubyGems remotes when all missing gems are in --without groups ### What was the end-user problem that led to this PR? The problem was we would attempt to fetch dependency info from a RubyGems remote even when it was only needed for gems whose groups were excluded. ### Was was your diagnosis of the problem? My diagnosis was that the test we had for this case was insufficient, since it checked only that `stderr` was empty, and since Bundler 1 prints errors to `stdout`... it went undetected for a year. ### What is your fix for the problem, implemented in this PR? My fix is to only report that deps are missing when they are either requested or are path/git/gemspec-sourced. ### Why did you choose this fix out of the possible options? I chose this fix because it keeps the behavior of always ensuring all git repos are checked out.
Diffstat (limited to 'lib/bundler/installer.rb')
-rw-r--r--lib/bundler/installer.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bundler/installer.rb b/lib/bundler/installer.rb
index c47012973b..2085f65db6 100644
--- a/lib/bundler/installer.rb
+++ b/lib/bundler/installer.rb
@@ -248,7 +248,7 @@ module Bundler
def resolve_if_needed(options)
if !options["update"] && !options[:inline] && !options["force"] && Bundler.default_lockfile.file?
- return if @definition.nothing_changed? && !@definition.missing_dependencies?
+ return if @definition.nothing_changed? && !@definition.missing_specs?
end
options["local"] ? @definition.resolve_with_cache! : @definition.resolve_remotely!