submodule sync: Update "submodule.<name>.url" for empty directories
[gitweb.git] / t / t7400-submodule-basic.sh
index d9f27859932c33e126fa64c5c1fb80963dabb97a..782b0a3ece7724bf8df7cf4d405715a42ad21d44 100755 (executable)
@@ -86,25 +86,28 @@ test_expect_success 'submodule add' '
        test_cmp empty untracked
 '
 
-test_expect_success 'submodule add to .gitignored path' '
-       echo "refs/heads/master" >expect &&
-       >empty &&
-
+test_expect_success 'submodule add to .gitignored path fails' '
        (
                cd addtest-ignore &&
+               cat <<-\EOF >expect &&
+               The following path is ignored by one of your .gitignore files:
+               submod
+               Use -f if you really want to add it.
+               EOF
                # Does not use test_commit due to the ignore
                echo "*" > .gitignore &&
                git add --force .gitignore &&
                git commit -m"Ignore everything" &&
-               git submodule add "$submodurl" submod &&
-               git submodule init
-       ) &&
+               ! git submodule add "$submodurl" submod >actual 2>&1 &&
+               test_cmp expect actual
+       )
+'
 
-       rm -f heads head untracked &&
-       inspect addtest/submod ../.. &&
-       test_cmp expect heads &&
-       test_cmp expect head &&
-       test_cmp empty untracked
+test_expect_success 'submodule add to .gitignored path with --force' '
+       (
+               cd addtest-ignore &&
+               git submodule add --force "$submodurl" submod
+       )
 '
 
 test_expect_success 'submodule add --branch' '
@@ -410,12 +413,13 @@ test_expect_success 'submodule <invalid-path> warns' '
 
 test_expect_success 'add submodules without specifying an explicit path' '
        mkdir repo &&
-       cd repo &&
-       git init &&
-       echo r >r &&
-       git add r &&
-       git commit -m "repo commit 1" &&
-       cd .. &&
+       (
+               cd repo &&
+               git init &&
+               echo r >r &&
+               git add r &&
+               git commit -m "repo commit 1"
+       ) &&
        git clone --bare repo/ bare.git &&
        cd addtest &&
        git submodule add "$submodurl/repo" &&