From: Haihua Yang <yanghh@xxxxxxxxx> When updating submodule core.worktree configuration - If config.worktree exists in the submodule's gitdir, write to that file - Otherwise, write to the commondir/config file Signed-off-by: Haihua Yang <yanghh@xxxxxxxxx> Signed-off-by: Haihua Yang <yanghh@xxxxxxxxx> --- update worktree in config.worktree if it exists When updating submodule core.worktree configuration * If config.worktree exists in the submodule's gitdir, write to that file * Otherwise, write to the commondir/config file Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2035%2Fhaihuayang%2Fmaster-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2035/haihuayang/master-v1 Pull-Request: https://github.com/git/git/pull/2035 builtin/submodule--helper.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 07a1935cbe..231c70f12e 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -2519,7 +2519,12 @@ static int ensure_core_worktree(const char *path) const char *rel_path; struct strbuf sb = STRBUF_INIT; - cfg_file = repo_git_path(&subrepo, "config"); + /* Use config.worktree if it exists, otherwise use config */ + cfg_file = repo_git_path(&subrepo, "config.worktree"); + if (access(cfg_file, F_OK) != 0) { + free(cfg_file); + cfg_file = repo_git_path(&subrepo, "config"); + } abs_path = absolute_pathdup(path); rel_path = relative_path(abs_path, subrepo.gitdir, &sb); base-commit: 1fa68948c3d76328236cac73d2adf33c905bd8e3 -- gitgitgadget