summaryrefslogtreecommitdiff
path: root/builtin/submodule--helper.c
diff options
context:
space:
mode:
authorLibravatar Jonathan Nieder <jrnieder@gmail.com>2018-09-07 17:09:46 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-09-07 19:05:20 -0700
commitf178c13fdac42763a7aa58bf260aa67d9f4393ec (patch)
treeae27a5d9cc99eca51eb93c8769270fbe67737365 /builtin/submodule--helper.c
parentGit 2.19-rc2 (diff)
downloadtgif-f178c13fdac42763a7aa58bf260aa67d9f4393ec.tar.xz
Revert "Merge branch 'sb/submodule-core-worktree'"
This reverts commit 7e25437d35a70791b345872af202eabfb3e1a8bc, reversing changes made to 00624d608cc69bd62801c93e74d1ea7a7ddd6598. v2.19.0-rc0~165^2~1 (submodule: ensure core.worktree is set after update, 2018-06-18) assumes an "absorbed" submodule layout, where the submodule's Git directory is in the superproject's .git/modules/ directory and .git in the submodule worktree is a .git file pointing there. In particular, it uses $GIT_DIR/modules/$name to find the submodule to find out whether it already has core.worktree set, and it uses connect_work_tree_and_git_dir if not, resulting in fatal: could not open sub/.git for writing The context behind that patch: v2.19.0-rc0~165^2~2 (submodule: unset core.worktree if no working tree is present, 2018-06-12) unsets core.worktree when running commands like "git checkout --recurse-submodules" to switch to a branch without the submodule. If a user then uses "git checkout --no-recurse-submodules" to switch back to a branch with the submodule and runs "git submodule update", this patch is needed to ensure that commands using the submodule directly are aware of the path to the worktree. It is late in the release cycle, so revert the whole 3-patch series. We can try again later for 2.20. Reported-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Helped-by: Stefan Beller <sbeller@google.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/submodule--helper.c')
-rw-r--r--builtin/submodule--helper.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index b56028ba9d..f6fb8991f3 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1123,8 +1123,6 @@ static void deinit_submodule(const char *path, const char *prefix,
if (!(flags & OPT_QUIET))
printf(format, displaypath);
- submodule_unset_core_worktree(sub);
-
strbuf_release(&sb_rm);
}
@@ -2005,29 +2003,6 @@ static int check_name(int argc, const char **argv, const char *prefix)
return 0;
}
-static int connect_gitdir_workingtree(int argc, const char **argv, const char *prefix)
-{
- struct strbuf sb = STRBUF_INIT;
- const char *name, *path;
- char *sm_gitdir;
-
- if (argc != 3)
- BUG("submodule--helper connect-gitdir-workingtree <name> <path>");
-
- name = argv[1];
- path = argv[2];
-
- strbuf_addf(&sb, "%s/modules/%s", get_git_dir(), name);
- sm_gitdir = absolute_pathdup(sb.buf);
-
- connect_work_tree_and_git_dir(path, sm_gitdir, 0);
-
- strbuf_release(&sb);
- free(sm_gitdir);
-
- return 0;
-}
-
#define SUPPORT_SUPER_PREFIX (1<<0)
struct cmd_struct {
@@ -2041,7 +2016,6 @@ static struct cmd_struct commands[] = {
{"name", module_name, 0},
{"clone", module_clone, 0},
{"update-clone", update_clone, 0},
- {"connect-gitdir-workingtree", connect_gitdir_workingtree, 0},
{"relative-path", resolve_relative_path, 0},
{"resolve-relative-url", resolve_relative_url, 0},
{"resolve-relative-url-test", resolve_relative_url_test, 0},