ruby-changes:72801
From: David <ko1@a...>
Date: Wed, 3 Aug 2022 16:34:09 +0900 (JST)
Subject: [ruby-changes:72801] 851b3aa7dd (master): [rubygems/rubygems] Fix `bundle outdated --strict`
https://git.ruby-lang.org/ruby.git/commit/?id=851b3aa7dd From 851b3aa7dde489502f517cc1ad9d31d9a3056197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <deivid.rodriguez@r...> Date: Mon, 1 Aug 2022 17:11:20 +0200 Subject: [rubygems/rubygems] Fix `bundle outdated --strict` It should be an alias of `--filter-strict`. `--update-strict` is essentially a dummy option with no special behavior associated and should be deprecated. https://github.com/rubygems/rubygems/commit/ec1e5d83c8 --- lib/bundler/cli.rb | 4 ++-- spec/bundler/commands/outdated_spec.rb | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb index e9ef47f9ba..0fa646c8ea 100644 --- a/lib/bundler/cli.rb +++ b/lib/bundler/cli.rb @@ -401,9 +401,9 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/cli.rb#L401 "Do not attempt to fetch gems remotely and use the gem cache instead" method_option "pre", :type => :boolean, :banner => "Check for newer pre-release gems" method_option "source", :type => :array, :banner => "Check against a specific source" - method_option "filter-strict", :type => :boolean, :banner => + method_option "filter-strict", :type => :boolean, :aliases => "--strict", :banner => "Only list newer versions allowed by your Gemfile requirements" - method_option "strict", :type => :boolean, :aliases => "--update-strict", :banner => + method_option "update-strict", :type => :boolean, :banner => "Strict conservative resolution, do not allow any gem to be updated past latest --patch | --minor | --major" method_option "minor", :type => :boolean, :banner => "Prefer updating only to next minor version" method_option "major", :type => :boolean, :banner => "Prefer updating to next major version (default)" diff --git a/spec/bundler/commands/outdated_spec.rb b/spec/bundler/commands/outdated_spec.rb index 6b7c95f01b..e084af85d7 100644 --- a/spec/bundler/commands/outdated_spec.rb +++ b/spec/bundler/commands/outdated_spec.rb @@ -604,6 +604,22 @@ RSpec.describe "bundle outdated" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/outdated_spec.rb#L604 expect(out).to end_with(expected_output) end + it "only reports gems that have a newer version that matches the specified dependency version requirements, using --strict alias" do + update_repo2 do + build_gem "activesupport", "3.0" + build_gem "weakling", "0.0.5" + end + + bundle :outdated, :strict => true, :raise_on_error => false + + expected_output = <<~TABLE.strip + Gem Current Latest Requested Groups + weakling 0.0.3 0.0.5 ~> 0.0.1 default + TABLE + + expect(out).to end_with(expected_output) + end + it "doesn't crash when some deps unused on the current platform" do install_gemfile <<-G source "#{file_uri_for(gem_repo2)}" -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/