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:
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);
|
||||
}
|
||||
|
||||
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
|
||||
* 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
|
||||
@ -1327,8 +1333,8 @@ static int get_next_submodule(struct child_process *cp,
|
||||
repo = get_submodule_repo_for(spf->r, submodule);
|
||||
if (repo) {
|
||||
child_process_init(cp);
|
||||
cp->dir = xstrdup(repo->worktree);
|
||||
prepare_submodule_repo_env(&cp->env_array);
|
||||
cp->dir = xstrdup(repo->gitdir);
|
||||
prepare_submodule_repo_env_in_gitdir(&cp->env_array);
|
||||
cp->git_cmd = 1;
|
||||
if (!spf->quiet)
|
||||
strbuf_addf(err, "Fetching submodule %s%s\n",
|
||||
|
Loading…
Reference in New Issue
Block a user