From a05bdba30a0f34bfb0dddc9ec56f9b76157e0a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 20 Dec 2019 01:26:30 +0100 Subject: Don't spawn a new shell on `git push` when releasing These `git push` operations are the only ones passing a string argument to `IO.popen` and those are the exact commands hanging for me when I try to release. I'm not sure what the reason is (maybe that I use hub, which does some fancy shell aliasing?), but I think it's a good practice to avoid a new shell anyways. --- lib/bundler/gem_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bundler/gem_helper.rb b/lib/bundler/gem_helper.rb index 7d4e382be8..df2214ce8a 100644 --- a/lib/bundler/gem_helper.rb +++ b/lib/bundler/gem_helper.rb @@ -130,7 +130,7 @@ module Bundler def perform_git_push(options = "") cmd = "git push #{options}" - out, status = sh_with_status(cmd) + out, status = sh_with_status(cmd.shellsplit) return if status.success? cmd = cmd.shelljoin if cmd.respond_to?(:shelljoin) raise "Couldn't git push. `#{cmd}' failed with the following output:\n\n#{out}\n" -- cgit v1.2.1