summaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-08-13 22:42:34 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-14 21:01:04 (GMT)
commit74d4731da1fd61e3705e808bcd496979ef8ddf5a (patch)
tree67e5d121c9f54be0122fdc31154a1c425e4d0a6f /git-submodule.sh
parentc94d9dc286027e0343ffd58b5f7f2899691f6747 (diff)
downloadgit-74d4731da1fd61e3705e808bcd496979ef8ddf5a.zip
git-74d4731da1fd61e3705e808bcd496979ef8ddf5a.tar.gz
git-74d4731da1fd61e3705e808bcd496979ef8ddf5a.tar.bz2
submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
e98317508c0 (submodule: ensure core.worktree is set after update, 2018-06-18) was overly aggressive in calling connect_work_tree_and_git_dir as that ensures both the 'core.worktree' configuration is set as well as setting up correct gitlink file pointing at the git directory. We do not need to check for the gitlink in this part of the cmd_update in git-submodule.sh, as the initial call to update-clone will have ensured that. So we can reduce the work to only (check and potentially) set the 'core.worktree' setting. While at it move the check from shell to C as that proves to be useful in a follow up patch, as we do not need the 'name' in shell now. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh7
1 files changed, 2 insertions, 5 deletions
diff --git a/git-submodule.sh b/git-submodule.sh
index 8caaf27..19d010e 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -535,6 +535,8 @@ cmd_update()
do
die_if_unmatched "$quickabort" "$sha1"
+ git submodule--helper ensure-core-worktree "$sm_path"
+
name=$(git submodule--helper name "$sm_path") || exit
if ! test -z "$update"
then
@@ -577,11 +579,6 @@ cmd_update()
die "$(eval_gettext "Unable to find current \${remote_name}/\${branch} revision in submodule path '\$sm_path'")"
fi
- if ! $(git config -f "$(git rev-parse --git-common-dir)/modules/$name/config" core.worktree) 2>/dev/null
- then
- git submodule--helper connect-gitdir-workingtree "$name" "$sm_path"
- fi
-
if test "$subsha1" != "$sha1" || test -n "$force"
then
subforce=$force