1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[rubygems/rubygems] Fix bundle update --bundler no longer updating lockfile

https://github.com/rubygems/rubygems/commit/a053b7e4d4
This commit is contained in:
David Rodríguez 2021-12-26 14:42:02 +01:00 committed by git
parent be476f38f9
commit 95d2e06c2b
2 changed files with 41 additions and 1 deletions

View file

@ -69,7 +69,12 @@ module Bundler
SharedHelpers.in_bundle? &&
lockfile_version &&
!lockfile_version.end_with?(".dev") &&
lockfile_version != current_version
lockfile_version != current_version &&
!updating?
end
def updating?
"update".start_with?(ARGV.first || " ") && ARGV[1..-1].any? {|a| a.start_with?("--bundler") }
end
def installed?

View file

@ -1130,6 +1130,41 @@ RSpec.describe "bundle update --bundler" do
expect(the_bundle.locked_gems.bundler_version).to eq v(Bundler::VERSION)
end
it "updates the bundler version in the lockfile without re-resolving if the locked version is already installed" do
system_gems "bundler-2.3.3"
build_repo4 do
build_gem "rack", "1.0"
end
install_gemfile <<-G
source "#{file_uri_for(gem_repo4)}"
gem "rack"
G
lockfile lockfile.sub(/(^\s*)#{Bundler::VERSION}($)/, "2.3.3")
bundle :update, :bundler => true, :artifice => "vcr", :verbose => true
expect(out).to include("Using bundler #{Bundler::VERSION}")
expect(lockfile).to eq <<~L
GEM
remote: #{file_uri_for(gem_repo4)}/
specs:
rack (1.0)
PLATFORMS
#{lockfile_platforms}
DEPENDENCIES
rack
BUNDLED WITH
#{Bundler::VERSION}
L
expect(the_bundle).to include_gem "rack 1.0"
end
end
# these specs are slow and focus on integration and therefore are not exhaustive. unit specs elsewhere handle that.