diff options
| author | The Bundler Bot <bot@bundler.io> | 2017-06-23 04:35:44 +0000 |
|---|---|---|
| committer | The Bundler Bot <bot@bundler.io> | 2017-06-23 04:35:44 +0000 |
| commit | 1102ec1a06d5971fc3c870b1ed50de8f826c36e4 (patch) | |
| tree | d3643ab2c47df07025b0872735dada72aad8e471 /lib/bundler/installer.rb | |
| parent | 4dfff8be27b6582052c24fd58de46bf14763b83c (diff) | |
| parent | 194706060e50d27269cbdce930310fa8a8f05b80 (diff) | |
| download | bundler-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.rb | 2 |
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! |
