submodule.c: fetch in submodules git directory instead of in worktree
Keep the properties introduced in 10f5c52656 (submodule: avoid
auto-discovery in prepare_submodule_repo_env(), 2016-09-01), by fixating
the git directory of the submodule.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							26f80ccfc1
						
					
				
				
					commit
					a62387b3fc
				
			
							
								
								
									
										10
									
								
								submodule.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								submodule.c
									
									
									
									
									
								
							@ -494,6 +494,12 @@ void prepare_submodule_repo_env(struct argv_array *out)
 | 
				
			|||||||
			 DEFAULT_GIT_DIR_ENVIRONMENT);
 | 
								 DEFAULT_GIT_DIR_ENVIRONMENT);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void prepare_submodule_repo_env_in_gitdir(struct argv_array *out)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						prepare_submodule_repo_env_no_git_dir(out);
 | 
				
			||||||
 | 
						argv_array_pushf(out, "%s=.", GIT_DIR_ENVIRONMENT);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Helper function to display the submodule header line prior to the full
 | 
					/* Helper function to display the submodule header line prior to the full
 | 
				
			||||||
 * summary output. If it can locate the submodule objects directory it will
 | 
					 * summary output. If it can locate the submodule objects directory it will
 | 
				
			||||||
 * attempt to lookup both the left and right commits and put them into the
 | 
					 * attempt to lookup both the left and right commits and put them into the
 | 
				
			||||||
@ -1327,8 +1333,8 @@ static int get_next_submodule(struct child_process *cp,
 | 
				
			|||||||
		repo = get_submodule_repo_for(spf->r, submodule);
 | 
							repo = get_submodule_repo_for(spf->r, submodule);
 | 
				
			||||||
		if (repo) {
 | 
							if (repo) {
 | 
				
			||||||
			child_process_init(cp);
 | 
								child_process_init(cp);
 | 
				
			||||||
			cp->dir = xstrdup(repo->worktree);
 | 
								cp->dir = xstrdup(repo->gitdir);
 | 
				
			||||||
			prepare_submodule_repo_env(&cp->env_array);
 | 
								prepare_submodule_repo_env_in_gitdir(&cp->env_array);
 | 
				
			||||||
			cp->git_cmd = 1;
 | 
								cp->git_cmd = 1;
 | 
				
			||||||
			if (!spf->quiet)
 | 
								if (!spf->quiet)
 | 
				
			||||||
				strbuf_addf(err, "Fetching submodule %s%s\n",
 | 
									strbuf_addf(err, "Fetching submodule %s%s\n",
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user