diff options
| author | David RodrÃguez <2887858+deivid-rodriguez@users.noreply.github.com> | 2025-09-10 10:32:26 +0200 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2025-09-16 17:17:32 +0900 |
| commit | 0a5a0eeab45fb2db176b681159b328b3fdf95408 (patch) | |
| tree | 4d71fd4604ccfc821acdabdcd1ea5c6cf3b8e9c8 | |
| parent | 12aa9e7457458245c9452ca5f786f6191742edf2 (diff) | |
[rubygems/rubygems] Handle locked sources more simillarly to locked specs
https://github.com/rubygems/rubygems/commit/0a2f5ed717
| -rw-r--r-- | lib/bundler/definition.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index e177b6e396..bd424609c9 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -107,6 +107,7 @@ module Bundler @locked_ruby_version = @locked_gems.ruby_version @locked_deps = @locked_gems.dependencies @originally_locked_specs = SpecSet.new(@locked_gems.specs) + @originally_locked_sources = @locked_gems.sources @locked_checksums = @locked_gems.checksums if @unlocking_all @@ -114,7 +115,7 @@ module Bundler @locked_sources = [] else @locked_specs = @originally_locked_specs - @locked_sources = @locked_gems.sources + @locked_sources = @originally_locked_sources end else @locked_gems = nil @@ -123,8 +124,9 @@ module Bundler @platforms = [] @locked_deps = {} @locked_specs = SpecSet.new([]) - @originally_locked_specs = @locked_specs @locked_sources = [] + @originally_locked_specs = @locked_specs + @originally_locked_sources = @locked_sources @locked_checksums = Bundler.feature_flag.lockfile_checksums? end @@ -954,7 +956,7 @@ module Bundler sources.all_sources.each do |source| # has to be done separately, because we want to keep the locked checksum # store for a source, even when doing a full update - if @locked_checksums && @locked_gems && locked_source = @locked_gems.sources.find {|s| s == source && !s.equal?(source) } + if @locked_checksums && @locked_gems && locked_source = @originally_locked_sources.find {|s| s == source && !s.equal?(source) } source.checksum_store.merge!(locked_source.checksum_store) end # If the source is unlockable and the current command allows an unlock of @@ -1137,7 +1139,7 @@ module Bundler end def additional_base_requirements_to_prevent_downgrades(resolution_base) - return resolution_base unless @locked_gems && !sources.expired_sources?(@locked_gems.sources) + return resolution_base unless @locked_gems && !sources.expired_sources?(@originally_locked_sources) @originally_locked_specs.each do |locked_spec| next if locked_spec.source.is_a?(Source::Path) || locked_spec.source_changed? |
