summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Rodriguez <deivid.rodriguez@riseup.net>2024-03-21 17:55:14 +0100
committergit <svn-admin@ruby-lang.org>2024-04-01 15:03:25 +0000
commitd69ef1cc52b34d3242376ea5b4893b1b55e71517 (patch)
treeb9d691a76d5cbdc80f821bfda1d587ca06ecdf08 /lib
parent2b82b7d192d26b1153186187dbe3bef84de7ed3f (diff)
[rubygems/rubygems] Let GemVersionPromoter sort in preferred order directly
So that we don't need to reverse the Array. https://github.com/rubygems/rubygems/commit/aeea5e2e00
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler/gem_version_promoter.rb20
-rw-r--r--lib/bundler/resolver.rb2
2 files changed, 11 insertions, 11 deletions
diff --git a/lib/bundler/gem_version_promoter.rb b/lib/bundler/gem_version_promoter.rb
index c7187654b7..ecc65b4956 100644
--- a/lib/bundler/gem_version_promoter.rb
+++ b/lib/bundler/gem_version_promoter.rb
@@ -59,20 +59,20 @@ module Bundler
a_pre = a.prerelease?
b_pre = b.prerelease?
- next -1 if a_pre && !b_pre
- next 1 if b_pre && !a_pre
+ next 1 if a_pre && !b_pre
+ next -1 if b_pre && !a_pre
end
if major? || locked_version.nil?
- a <=> b
+ b <=> a
elsif either_version_older_than_locked?(a, b, locked_version)
- a <=> b
- elsif segments_do_not_match?(a, b, :major)
b <=> a
+ elsif segments_do_not_match?(a, b, :major)
+ a <=> b
elsif !minor? && segments_do_not_match?(a, b, :minor)
- b <=> a
- else
a <=> b
+ else
+ b <=> a
end
end
post_sort(result, package.unlock?, locked_version)
@@ -137,13 +137,13 @@ module Bundler
if unlock || locked_version.nil?
result
else
- move_version_to_end(result, locked_version)
+ move_version_to_beginning(result, locked_version)
end
end
- def move_version_to_end(result, version)
+ def move_version_to_beginning(result, version)
move, keep = result.partition {|s| s.version.to_s == version.to_s }
- keep.concat(move)
+ move.concat(keep)
end
end
end
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index 1cd94ccf50..329540fd3d 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -359,7 +359,7 @@ module Bundler
def sort_versions_by_preferred(package, versions)
if versions.size > 1
- @gem_version_promoter.sort_versions(package, versions).reverse
+ @gem_version_promoter.sort_versions(package, versions)
else
versions
end