This commit was cherry-picked from Fedora rawhide
<79d75fdcdd>.
This fixes the following test failure.
```
  1) Failure:
TestGemSourceGit#test_checkout_submodules [/builddir/build/BUILD/ruby-3.0.4/test/rubygems/test_gem_source_git.rb:72]:
fatal: transport 'file' not allowed
fatal: clone of '/builddir/build/BUILD/ruby-3.0.4/tmp/test_rubygems_20230627-4031323-yppcjj/git/b' into submodule path '/builddir/build/BUILD/ruby-3.0.4/tmp/test_rubygems_20230627-4031323-yppcjj/git/a/b' failed
```
Related: RHEL-5590
		
	
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From dae843f6b7502f921a7e66f39e3714a39d860181 Mon Sep 17 00:00:00 2001
 | |
| From: Hiroshi SHIBATA <hsbt@ruby-lang.org>
 | |
| Date: Wed, 19 Oct 2022 19:40:00 +0900
 | |
| Subject: [PATCH] Bypass git submodule add/update with git config
 | |
|  protocol.file.allow=always option.
 | |
| 
 | |
| Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
 | |
| ---
 | |
|  test/rubygems/test_gem_source_git.rb | 5 +++++
 | |
|  1 file changed, 5 insertions(+)
 | |
| 
 | |
| diff --git a/test/rubygems/test_gem_source_git.rb b/test/rubygems/test_gem_source_git.rb
 | |
| index 5702da05974b6..c3b324771fa4d 100644
 | |
| --- a/test/rubygems/test_gem_source_git.rb
 | |
| +++ b/test/rubygems/test_gem_source_git.rb
 | |
| @@ -63,6 +63,11 @@ def test_checkout_local_cached
 | |
|    end
 | |
|  
 | |
|    def test_checkout_submodules
 | |
| +    # We need to allow to checkout submodules with file:// protocol
 | |
| +    # CVE-2022-39253
 | |
| +    # https://lore.kernel.org/lkml/xmqq4jw1uku5.fsf@gitster.g/
 | |
| +    system(@git, *%W"config --global protocol.file.allow always")
 | |
| +
 | |
|      source = Gem::Source::Git.new @name, @repository, 'master', true
 | |
|  
 | |
|      git_gem 'b'
 |