summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2021-11-25 21:29:56 +0100
committergit <svn-admin@ruby-lang.org>2021-11-26 08:50:52 +0900
commitf3320f164fd4147256227271b89e02522a536093 (patch)
treef9160b7f2d3cc1a448a6f7662e4251e14226e1c0
parentb6f543d4aea38333521b8b2333c8ec675a3ebe8f (diff)
[rubygems/rubygems] Fix `bundle info` sometimes claiming that bundler has been deleted
https://github.com/rubygems/rubygems/commit/fe1a31db31
-rw-r--r--lib/bundler/cli/info.rb2
-rw-r--r--spec/bundler/commands/info_spec.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/bundler/cli/info.rb b/lib/bundler/cli/info.rb
index 3afed89ceb..6ecc842b4c 100644
--- a/lib/bundler/cli/info.rb
+++ b/lib/bundler/cli/info.rb
@@ -70,7 +70,7 @@ module Bundler
gem_info << "\tPath: #{spec.full_gem_path}\n"
gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
- if spec.deleted_gem?
+ if name != "bundler" && spec.deleted_gem?
return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
end
diff --git a/spec/bundler/commands/info_spec.rb b/spec/bundler/commands/info_spec.rb
index 518f93511a..dbfb800c4c 100644
--- a/spec/bundler/commands/info_spec.rb
+++ b/spec/bundler/commands/info_spec.rb
@@ -50,6 +50,14 @@ RSpec.describe "bundle info" do
expect(out).to eq(root.to_s)
end
+ it "doesn't claim that bundler has been deleted, even if using a custom path without bundler there" do
+ bundle "config set --local path vendor/bundle"
+ bundle "install"
+ bundle "info bundler"
+ expect(out).to include("\tPath: #{root}")
+ expect(err).not_to match(/The gem bundler has been deleted/i)
+ end
+
it "complains if gem not in bundle" do
bundle "info missing", :raise_on_error => false
expect(err).to eq("Could not find gem 'missing'.")