summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2022-08-01 17:11:20 +0200
committergit <svn-admin@ruby-lang.org>2022-08-03 16:33:53 +0900
commit851b3aa7dde489502f517cc1ad9d31d9a3056197 (patch)
treea9c6a9a86e8da3ae5ccb283f8b8b86db431dce61
parent35c65e7ba6b4aa8bc80aaca8429a48c4eb923b89 (diff)
[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
-rw-r--r--lib/bundler/cli.rb4
-rw-r--r--spec/bundler/commands/outdated_spec.rb16
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
"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
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)}"