summaryrefslogtreecommitdiff
path: root/lib/bundler/source/git/git_proxy.rb
diff options
Diffstat (limited to 'lib/bundler/source/git/git_proxy.rb')
-rw-r--r--lib/bundler/source/git/git_proxy.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/bundler/source/git/git_proxy.rb b/lib/bundler/source/git/git_proxy.rb
index da03efde0c..5dc1c8de32 100644
--- a/lib/bundler/source/git/git_proxy.rb
+++ b/lib/bundler/source/git/git_proxy.rb
@@ -136,11 +136,13 @@ module Bundler
if submodules
git_retry "submodule update --init --recursive", :dir => destination
elsif Gem::Version.create(version) >= Gem::Version.create("2.9.0")
- git_retry "submodule deinit --all --force", :dir => destination
+ inner_command = "git -C $toplevel submodule deinit --force $sm_path"
+ inner_command = inner_command.gsub("$") { '\$' } unless Bundler::WINDOWS
+ git_retry "submodule foreach --quiet \"#{inner_command}\"", :dir => destination
end
end
- private
+ private
def git_null(command, dir: SharedHelpers.pwd)
check_allowed(command)