summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <[email protected]>2020-03-24 12:54:22 +0100
committerHiroshi SHIBATA <[email protected]>2020-06-15 21:20:37 +0900
commitafce7eb39ec58f9ec65b3cf53059a4bc3bd58cbd (patch)
treeea9ce6a73ae5bf5f66c53cce54286b0974259c80
parentc61031d6b66674cf57211ff52677c223fe1d17ac (diff)
Replace `Gem::Util.silent_system` with better tools
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3229
-rw-r--r--lib/rubygems/source/git.rb8
-rw-r--r--test/rubygems/test_gem_source_git.rb5
2 files changed, 8 insertions, 5 deletions
diff --git a/lib/rubygems/source/git.rb b/lib/rubygems/source/git.rb
index ec2c371fa9..b76a068ed1 100644
--- a/lib/rubygems/source/git.rb
+++ b/lib/rubygems/source/git.rb
@@ -103,9 +103,11 @@ class Gem::Source::Git < Gem::Source
success = system @git, 'reset', '--quiet', '--hard', rev_parse
- success &&=
- Gem::Util.silent_system @git, 'submodule', 'update',
- '--quiet', '--init', '--recursive' if @need_submodules
+ if @need_submodules
+ _, status = Open3.capture2e(@git, 'submodule', 'update', '--quiet', '--init', '--recursive')
+
+ success &&= status.success?
+ end
success
end
diff --git a/test/rubygems/test_gem_source_git.rb b/test/rubygems/test_gem_source_git.rb
index bcf97e367f..393190c9f5 100644
--- a/test/rubygems/test_gem_source_git.rb
+++ b/test/rubygems/test_gem_source_git.rb
@@ -69,8 +69,9 @@ class TestGemSourceGit < Gem::TestCase
git_gem 'b'
Dir.chdir 'git/a' do
- Gem::Util.silent_system @git, 'submodule', '--quiet',
- 'add', File.expand_path('../b'), 'b'
+ output, status = Open3.capture2e(@git, 'submodule', '--quiet', 'add', File.expand_path('../b'), 'b')
+ assert status.success?, output
+
system @git, 'commit', '--quiet', '-m', 'add submodule b'
end