summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2021-10-08 13:05:31 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2021-10-09 08:05:23 +0900
commita5bae843ff2b2fe9b46de8766c135489ccda8d9e (patch)
treefb5c51d5b52b9003b67675c9ab78bd1804d37ec8
parent5a34b639fc8f51f2464f36e59f32eff8b3fd2e0f (diff)
[rubygems/rubygems] Let `update_git` work with whatever branch is checkout out
Unless the `:branch` option is passed. It's more efficient, and it results in less hardcoding of "master". https://github.com/rubygems/rubygems/commit/aa5c3409ab
-rw-r--r--spec/bundler/support/builders.rb10
-rw-r--r--spec/bundler/update/git_spec.rb4
2 files changed, 3 insertions, 11 deletions
diff --git a/spec/bundler/support/builders.rb b/spec/bundler/support/builders.rb
index 3db84b277d..58e4d147dc 100644
--- a/spec/bundler/support/builders.rb
+++ b/spec/bundler/support/builders.rb
@@ -553,17 +553,9 @@ module Spec
update_gemspec = options[:gemspec] || false
source = options[:source] || "git@#{libpath}"
- @context.git "checkout master", libpath
-
if branch = options[:branch]
raise "You can't specify `master` as the branch" if branch == "master"
- escaped_branch = Shellwords.shellescape(branch)
-
- if @context.git("branch --list #{escaped_branch}", libpath).empty?
- @context.git("branch #{escaped_branch}", libpath)
- end
-
- @context.git("checkout #{escaped_branch}", libpath)
+ @context.git("checkout -b #{Shellwords.shellescape(branch)}", libpath)
elsif tag = options[:tag]
@context.git("tag #{Shellwords.shellescape(tag)}", libpath)
elsif options[:remote]
diff --git a/spec/bundler/update/git_spec.rb b/spec/bundler/update/git_spec.rb
index 26ad1b45d3..f35d5857c6 100644
--- a/spec/bundler/update/git_spec.rb
+++ b/spec/bundler/update/git_spec.rb
@@ -13,7 +13,7 @@ RSpec.describe "bundle update" do
end
G
- update_git "foo", :branch => "omg" do |s|
+ update_git "foo" do |s|
s.write "lib/foo.rb", "FOO = '1.1'"
end
@@ -48,7 +48,7 @@ RSpec.describe "bundle update" do
end
G
- update_git "foo", :branch => "omg", :path => lib_path("foo") do |s|
+ update_git "foo", :path => lib_path("foo") do |s|
s.write "lib/foo.rb", "FOO = '1.1'"
end