summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-08-25 18:04:10 -0400
committerSamuel Giddins <segiddins@segiddins.me>2017-08-25 18:04:10 -0400
commit4d69eb413294c3c548c9f522a2dd45003d6686ac (patch)
treeb1dc3bf0a4df40a6cefe99cdd68aaaf3afd5b4f5
parent3203fdd2ad861af2aedfa233b754a02bfc1c4741 (diff)
downloadbundler-seg-molinillo-0.6.2.tar.gz
Update Molinillo to 0.6.2seg-molinillo-0.6.2
-rw-r--r--lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb2
-rw-r--r--lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb15
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb b/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
index a681231f1a..17ed085673 100644
--- a/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
+++ b/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
@@ -2,5 +2,5 @@
module Bundler::Molinillo
# The version of Bundler::Molinillo.
- VERSION = '0.6.1'.freeze
+ VERSION = '0.6.2'.freeze
end
diff --git a/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb b/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
index c63bdb5ac4..d5a181ea14 100644
--- a/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
+++ b/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
@@ -791,24 +791,25 @@ module Bundler::Molinillo
end
# Build an array of PossibilitySets, with each element representing a group of
- # dependency versions that all have the same sub-dependency version constraints.
+ # dependency versions that all have the same sub-dependency version constraints
+ # and are contiguous.
# @param [Array] an array of possibilities
# @return [Array] an array of possibility sets
def group_possibilities(possibilities)
possibility_sets = []
- possibility_sets_index = {}
+ current_possibility_set = nil
possibilities.reverse_each do |possibility|
dependencies = dependencies_for(possibility)
- if index = possibility_sets_index[dependencies]
- possibility_sets[index].possibilities.unshift(possibility)
+ if current_possibility_set && current_possibility_set.dependencies == dependencies
+ current_possibility_set.possibilities.unshift(possibility)
else
- possibility_sets << PossibilitySet.new(dependencies, [possibility])
- possibility_sets_index[dependencies] = possibility_sets.count - 1
+ possibility_sets.unshift(PossibilitySet.new(dependencies, [possibility]))
+ current_possibility_set = possibility_sets.first
end
end
- possibility_sets.reverse
+ possibility_sets
end
# Pushes a new {DependencyState}.