File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -353,6 +353,11 @@ def _clone_repo(
353353                os .makedirs (module_abspath_dir )
354354            module_checkout_path  =  osp .join (str (repo .working_tree_dir ), path )
355355
356+         if  url .startswith ("../" ):
357+             remote_name  =  repo .active_branch .tracking_branch ().remote_name 
358+             repo_remote_url  =  repo .remote (remote_name ).url 
359+             url  =  os .path .join (repo_remote_url , url )
360+ 
356361        clone  =  git .Repo .clone_from (
357362            url ,
358363            module_checkout_path ,
Original file line number Diff line number Diff line change @@ -753,6 +753,22 @@ def test_add_empty_repo(self, rwdir):
753753            )
754754        # END for each checkout mode 
755755
756+     @with_rw_directory  
757+     @_patch_git_config ("protocol.file.allow" , "always" ) 
758+     def  test_update_submodule_with_relative_path (self , rwdir ):
759+         repo_path  =  osp .join (rwdir , "parent" )
760+         repo  =  git .Repo .init (repo_path )
761+         module_repo_path  =  osp .join (rwdir , "module" )
762+         module_repo  =  git .Repo .init (module_repo_path )
763+         module_repo .git .commit (m = "test" , allow_empty = True )
764+         repo .git .submodule ("add" , "../module" , "module" )
765+         repo .index .commit ("add submodule" )
766+ 
767+         cloned_repo_path  =  osp .join (rwdir , "cloned_repo" )
768+         cloned_repo  =  git .Repo .clone_from (repo_path , cloned_repo_path )
769+ 
770+         cloned_repo .submodule_update (init = True , recursive = True )
771+ 
756772    @with_rw_directory  
757773    @_patch_git_config ("protocol.file.allow" , "always" ) 
758774    def  test_list_only_valid_submodules (self , rwdir ):
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments