diff options
| author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2024-09-19 16:25:49 +0200 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-09-23 10:53:32 +0000 |
| commit | 5d53993a3773e4299277807a8bbcb63aa552bf68 (patch) | |
| tree | b42850987ea0913b98e7c9caed7df55b632fb38d | |
| parent | d0925c075b5c9de9702adf1949f77faf8fbfc3b8 (diff) | |
[rubygems/rubygems] Don't try to auto-install dev versions of Bundler not available remotely
https://github.com/rubygems/rubygems/commit/1a7a3fdeb9
| -rw-r--r-- | lib/bundler/self_manager.rb | 8 | ||||
| -rw-r--r-- | spec/bundler/runtime/self_management_spec.rb | 11 |
2 files changed, 15 insertions, 4 deletions
diff --git a/lib/bundler/self_manager.rb b/lib/bundler/self_manager.rb index ea7c014f3c..a6d93f20ff 100644 --- a/lib/bundler/self_manager.rb +++ b/lib/bundler/self_manager.rb @@ -98,10 +98,10 @@ module Bundler def needs_switching? autoswitching_applies? && - released?(lockfile_version) && - !running?(lockfile_version) && - !updating? && - Bundler.settings[:version] != "system" + Bundler.settings[:version] != "system" && + released?(restart_version) && + !running?(restart_version) && + !updating? end def autoswitching_applies? diff --git a/spec/bundler/runtime/self_management_spec.rb b/spec/bundler/runtime/self_management_spec.rb index 320b7062e8..c6910e95c0 100644 --- a/spec/bundler/runtime/self_management_spec.rb +++ b/spec/bundler/runtime/self_management_spec.rb @@ -176,6 +176,17 @@ RSpec.describe "Self management", rubygems: ">= 3.3.0.dev" do expect(out).to eq(Bundler::VERSION[0] == "2" ? "Bundler version #{Bundler::VERSION}" : Bundler::VERSION) end + it "does not try to install when using bundle config version <dev-version>" do + lockfile_bundled_with(previous_minor) + + bundle "config set version #{previous_minor}.dev" + bundle "install" + expect(out).not_to match(/restarting using that version/) + + bundle "-v" + expect(out).to eq(Bundler::VERSION[0] == "2" ? "Bundler version #{Bundler::VERSION}" : Bundler::VERSION) + end + it "ignores malformed lockfile version" do lockfile_bundled_with("2.3.") |
