aboutsummaryrefslogtreecommitdiff
path: root/submodule.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-11-25 15:24:52 -0800
committerJunio C Hamano <gitster@pobox.com>2020-11-25 15:24:52 -0800
commitd627bf6039ac3db5600cb76c738c13bb6e8204d0 (patch)
tree477f52f63ab6fd3ff005dba7f602948336b671ca /submodule.c
parentfcf26ef53ad91400591c47b854a2a834632d6010 (diff)
parent1b7ac4e6d4d490b224f5206af7418ed74e490608 (diff)
downloadgit-d627bf6039ac3db5600cb76c738c13bb6e8204d0.tar.xz
Merge branch 'pk/subsub-fetch-fix'
"git fetch" did not work correctly with nested submodules where the innermost submodule that is not of interest got updated in the upstream, which has been corrected. * pk/subsub-fetch-fix: submodules: fix of regression on fetching of non-init subsub-repo
Diffstat (limited to 'submodule.c')
-rw-r--r--submodule.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/submodule.c b/submodule.c
index b3bb59f066..eef5204e64 100644
--- a/submodule.c
+++ b/submodule.c
@@ -499,12 +499,6 @@ void prepare_submodule_repo_env(struct strvec *out)
DEFAULT_GIT_DIR_ENVIRONMENT);
}
-static void prepare_submodule_repo_env_in_gitdir(struct strvec *out)
-{
- prepare_submodule_repo_env_no_git_dir(out);
- strvec_pushf(out, "%s=.", GIT_DIR_ENVIRONMENT);
-}
-
/*
* Initialize a repository struct for a submodule based on the provided 'path'.
*
@@ -1455,8 +1449,8 @@ static int get_next_submodule(struct child_process *cp,
if (task->repo) {
struct strbuf submodule_prefix = STRBUF_INIT;
child_process_init(cp);
- cp->dir = task->repo->gitdir;
- prepare_submodule_repo_env_in_gitdir(&cp->env_array);
+ cp->dir = task->repo->worktree;
+ prepare_submodule_repo_env(&cp->env_array);
cp->git_cmd = 1;
if (!spf->quiet)
strbuf_addf(err, _("Fetching submodule %s%s\n"),
@@ -1505,9 +1499,9 @@ static int get_next_submodule(struct child_process *cp,
spf->prefix, task->sub->path);
child_process_init(cp);
- prepare_submodule_repo_env_in_gitdir(&cp->env_array);
+ prepare_submodule_repo_env(&cp->env_array);
cp->git_cmd = 1;
- cp->dir = task->repo->gitdir;
+ cp->dir = task->repo->worktree;
strvec_init(&cp->args);
strvec_pushv(&cp->args, spf->args.v);