Merge branch 'jc/color-diff-doc'
[gitweb.git] / t / t7409-submodule-detached-worktree.sh
index db75642fc37c89fb4a9c3096cb194c8872d14f01..2fec13dcd32a551d4fb82d0bea185ba6b77c9e14 100755 (executable)
@@ -15,7 +15,11 @@ TEST_NO_CREATE_REPO=1
 test_expect_success 'submodule on detached working tree' '
        git init --bare remote &&
        test_create_repo bundle1 &&
-       (cd bundle1 && test_commit "shoot") &&
+       (
+               cd bundle1 &&
+               test_commit "shoot" &&
+               git rev-parse --verify HEAD >../expect
+       ) &&
        mkdir home &&
        (
                cd home &&
@@ -23,14 +27,27 @@ test_expect_success 'submodule on detached working tree' '
                git clone --bare ../remote .dotfiles &&
                git submodule add ../bundle1 .vim/bundle/sogood &&
                test_commit "sogood" &&
+               (
+                       unset GIT_WORK_TREE GIT_DIR &&
+                       cd .vim/bundle/sogood &&
+                       git rev-parse --verify HEAD >actual &&
+                       test_cmp ../../../../expect actual
+               ) &&
                git push origin master
        ) &&
        mkdir home2 &&
        (
                cd home2 &&
-               export GIT_WORK_TREE="$(pwd)" GIT_DIR="$(pwd)/.dotfiles" &&
                git clone --bare ../remote .dotfiles &&
-               git submodule update --init
+               export GIT_WORK_TREE="$(pwd)" GIT_DIR="$(pwd)/.dotfiles" &&
+               git checkout master &&
+               git submodule update --init &&
+               (
+                       unset GIT_WORK_TREE GIT_DIR &&
+                       cd .vim/bundle/sogood &&
+                       git rev-parse --verify HEAD >actual &&
+                       test_cmp ../../../../expect actual
+               )
        )
 '
 
@@ -42,6 +59,7 @@ test_expect_success 'submodule on detached working pointed by core.worktree' '
                git clone --bare ../remote "$GIT_DIR" &&
                git config core.bare false &&
                git config core.worktree .. &&
+               git checkout master &&
                git submodule add ../bundle1 .vim/bundle/dupe &&
                test_commit "dupe" &&
                git push origin master
@@ -52,9 +70,8 @@ test_expect_success 'submodule on detached working pointed by core.worktree' '
                git config core.bare false &&
                git config core.worktree .. &&
                git pull &&
-               git submodule update &&
-               git submodule status &&
-               test -d .vim/bundle/dupe
+               git submodule update --init &&
+               test -f .vim/bundle/dupe/shoot.t
        )
 '