diff options
author | Samuel E. Giddins <segiddins@segiddins.me> | 2015-05-29 10:43:27 -0700 |
---|---|---|
committer | Samuel E. Giddins <segiddins@segiddins.me> | 2015-05-29 10:43:27 -0700 |
commit | 4e848bf694d2ee49ea426fcbc3ee6b459ec8ce54 (patch) | |
tree | 8bb2410d75139eda1a7093652073fbb931e9a26f | |
parent | d95cd09186085631406756eb0adc7d84b8648c5c (diff) | |
download | bundler-4e848bf694d2ee49ea426fcbc3ee6b459ec8ce54.tar.gz |
[Resolver] Properly calculating amount constrained when the dep is locked
-rw-r--r-- | lib/bundler/resolver.rb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index fd77636b2b..61d45aba46 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -305,12 +305,16 @@ module Bundler def amount_constrained(dependency) @amount_constrained ||= {} @amount_constrained[dependency.name] ||= begin - base_dep = Dependency.new dependency.name, '>= 0.a' - all = search_for(DepProxy.new base_dep, dependency.__platform) - if all.size == 0 - 0 + if base = @base[dependency.name] and !base.empty? + dependency.requirement.satisfied_by?(base.first.version) ? 0 : 1 else - search_for(dependency).size.to_f / all.size.to_f + base_dep = Dependency.new dependency.name, '>= 0.a' + all = search_for(DepProxy.new base_dep, dependency.__platform) + if all.size == 0 + 0 + else + search_for(dependency).size.to_f / all.size.to_f + end end end end |