diff options
| author | Junio C Hamano <gitster@pobox.com> | 2020-11-25 15:24:52 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2020-11-25 15:24:52 -0800 |
| commit | d627bf6039ac3db5600cb76c738c13bb6e8204d0 (patch) | |
| tree | 477f52f63ab6fd3ff005dba7f602948336b671ca /submodule.c | |
| parent | fcf26ef53ad91400591c47b854a2a834632d6010 (diff) | |
| parent | 1b7ac4e6d4d490b224f5206af7418ed74e490608 (diff) | |
| download | git-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.c | 14 |
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); |
