Skip to contentSkip to conversation

update worktree in config.worktree if it exists

PATCH New haihuayang via GitGitGadget 1 participant 1 message Aug 28, 2025

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 update worktree in config.worktree if it exists

From: Haihua Yang <[email protected]>

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

---
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(-)
builtin/submodule--helper.c +6 -1
index 07a1935cbe..231c70f12e 100644
@@ -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

Signature · 1 line
gitgitgadget