summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2025-08-08 14:00:22 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2025-08-18 12:31:51 +0900
commit679e8b1be42b8af2b675815d956eb86479cd1d55 (patch)
tree9bd4f536c627a8c9ded367fed63d43f50098a5bd
parentbcc287fc6f33e5680ece7dd737e46fd7894d6ed7 (diff)
[rubygems/rubygems] Fix `bundle show --verbose` and recommend it as an alternative to `bundle show --outdated`
https://github.com/rubygems/rubygems/commit/7cad1e4947
-rw-r--r--lib/bundler/cli.rb4
-rw-r--r--lib/bundler/cli/show.rb8
-rw-r--r--spec/bundler/commands/show_spec.rb22
-rw-r--r--spec/bundler/other/major_deprecation_spec.rb2
4 files changed, 26 insertions, 10 deletions
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb
index 65bf8eee83..84e8ca1c53 100644
--- a/lib/bundler/cli.rb
+++ b/lib/bundler/cli.rb
@@ -287,8 +287,8 @@ module Bundler
method_option "outdated", type: :boolean, banner: "Show verbose output including whether gems are outdated."
def show(gem_name = nil)
if ARGV.include?("--outdated")
- message = "the `--outdated` flag to `bundle show` was undocumented and will be removed without replacement"
- removed_message = "the `--outdated` flag to `bundle show` was undocumented and has been removed without replacement"
+ message = "the `--outdated` flag to `bundle show` will be removed in favor of `bundle show --verbose`"
+ removed_message = "the `--outdated` flag to `bundle show` has been removed in favor of `bundle show --verbose`"
SharedHelpers.major_deprecation(2, message, removed_message: removed_message)
end
require_relative "cli/show"
diff --git a/lib/bundler/cli/show.rb b/lib/bundler/cli/show.rb
index 13bb8b774b..b55eb7bad5 100644
--- a/lib/bundler/cli/show.rb
+++ b/lib/bundler/cli/show.rb
@@ -57,12 +57,8 @@ module Bundler
def fetch_latest_specs
definition = Bundler.definition(true)
- if options[:outdated]
- Bundler.ui.info "Fetching remote specs for outdated check...\n\n"
- Bundler.ui.silence { definition.remotely! }
- else
- definition.with_cache!
- end
+ Bundler.ui.info "Fetching remote specs for outdated check...\n\n"
+ Bundler.ui.silence { definition.remotely! }
Bundler.reset!
definition.specs
end
diff --git a/spec/bundler/commands/show_spec.rb b/spec/bundler/commands/show_spec.rb
index 82ec6e51f2..e5440cdf7f 100644
--- a/spec/bundler/commands/show_spec.rb
+++ b/spec/bundler/commands/show_spec.rb
@@ -3,8 +3,10 @@
RSpec.describe "bundle show" do
context "with a standard Gemfile" do
before :each do
+ build_repo2
+
install_gemfile <<-G
- source "https://gem.repo1"
+ source "https://gem.repo2"
gem "rails"
G
end
@@ -86,6 +88,24 @@ RSpec.describe "bundle show" do
\tStatus: Up to date
MSG
end
+
+ it "includes up to date status in summary of gems" do
+ update_repo2 do
+ build_gem "rails", "3.0.0"
+ end
+
+ bundle "show --verbose"
+
+ expect(out).to include <<~MSG
+ * rails (2.3.2)
+ \tSummary: This is just a fake gem for testing
+ \tHomepage: http://example.com
+ \tStatus: Outdated - 2.3.2 < 3.0.0
+ MSG
+
+ # check lockfile is not accidentally updated
+ expect(lockfile).to include("actionmailer (2.3.2)")
+ end
end
context "with a git repo in the Gemfile" do
diff --git a/spec/bundler/other/major_deprecation_spec.rb b/spec/bundler/other/major_deprecation_spec.rb
index 55a30ad157..d57abe45f3 100644
--- a/spec/bundler/other/major_deprecation_spec.rb
+++ b/spec/bundler/other/major_deprecation_spec.rb
@@ -614,7 +614,7 @@ RSpec.describe "major deprecations" do
end
it "prints a deprecation warning informing about its removal" do
- expect(deprecations).to include("the `--outdated` flag to `bundle show` was undocumented and will be removed without replacement")
+ expect(deprecations).to include("the `--outdated` flag to `bundle show` will be removed in favor of `bundle show --verbose`")
end
pending "fails with a helpful message", bundler: "4"