push: introduce new push.default mode "simple"
[gitweb.git] / t / t7400-submodule-basic.sh
index 662fe91295262976c2a541d296194d3d2e9dcc5f..b377a7af28c9dde11bd4cf6adcf0d7eae31a0754 100755 (executable)
@@ -77,7 +77,17 @@ test_expect_success 'submodule add' '
 
        (
                cd addtest &&
-               git submodule add "$submodurl" submod &&
+               git submodule add -q "$submodurl" submod >actual &&
+               test ! -s actual &&
+               echo "gitdir: ../.git/modules/submod" >expect &&
+               test_cmp expect submod/.git &&
+               (
+                       cd submod &&
+                       git config core.worktree >actual &&
+                       echo "../../../submod" >expect &&
+                       test_cmp expect actual &&
+                       rm -f actual expect
+               ) &&
                git submodule init
        ) &&
 
@@ -101,7 +111,7 @@ test_expect_success 'submodule add to .gitignored path fails' '
                git add --force .gitignore &&
                git commit -m"Ignore everything" &&
                ! git submodule add "$submodurl" submod >actual 2>&1 &&
-               test_cmp expect actual
+               test_i18ncmp expect actual
        )
 '
 
@@ -275,7 +285,8 @@ test_expect_success 'update should work when path is an empty dir' '
        echo "$rev1" >expect &&
 
        mkdir init &&
-       git submodule update &&
+       git submodule update -q >update.out &&
+       test ! -s update.out &&
 
        inspect init &&
        test_cmp expect head-sha1
@@ -359,11 +370,11 @@ test_expect_success 'update --init' '
 
        git submodule update init > update.out &&
        cat update.out &&
-       grep "not initialized" update.out &&
-       ! test -d init/.git &&
+       test_i18ngrep "not initialized" update.out &&
+       test_must_fail git rev-parse --resolve-git-dir init/.git &&
 
        git submodule update --init init &&
-       test -d init/.git
+       git rev-parse --resolve-git-dir init/.git
 '
 
 test_expect_success 'do not add files from a submodule' '
@@ -496,4 +507,17 @@ test_expect_success 'relative path works with user@host:path' '
        )
 '
 
+test_expect_success 'moving the superproject does not break submodules' '
+       (
+               cd addtest &&
+               git submodule status >expect
+       )
+       mv addtest addtest2 &&
+       (
+               cd addtest2 &&
+               git submodule status >actual &&
+               test_cmp expect actual
+       )
+'
+
 test_done