Merge branch 'rt/string-list-lookup-cleanup' into HEAD
[gitweb.git] / t / t7400-submodule-basic.sh
index fc1180999e0f7c63c7ea08b170dc0ddf3e1f9a1f..a41be3142e85112af7de1c2e865b7b2e261e7ebd 100755 (executable)
@@ -818,7 +818,7 @@ test_expect_success 'submodule add --name allows to replace a submodule with ano
        )
 '
 
-test_expect_failure 'recursive relative submodules stay relative' '
+test_expect_success 'recursive relative submodules stay relative' '
        test_when_finished "rm -rf super clone2 subsub sub3" &&
        mkdir subsub &&
        (
@@ -890,6 +890,19 @@ test_expect_success 'set up a second submodule' '
        git commit -m "submodule example2 added"
 '
 
+test_expect_success 'submodule deinit works on repository without submodules' '
+       test_when_finished "rm -rf newdirectory" &&
+       mkdir newdirectory &&
+       (
+               cd newdirectory &&
+               git init &&
+               >file &&
+               git add file &&
+               git commit -m "repo should not be empty"
+               git submodule deinit .
+       )
+'
+
 test_expect_success 'submodule deinit should remove the whole submodule section from .git/config' '
        git config submodule.example.foo bar &&
        git config submodule.example2.frotz nitfol &&
@@ -1040,5 +1053,30 @@ test_expect_success 'submodule add clone shallow submodule' '
        )
 '
 
+test_expect_success 'submodule helper list is not confused by common prefixes' '
+       mkdir -p dir1/b &&
+       (
+               cd dir1/b &&
+               git init &&
+               echo hi >testfile2 &&
+               git add . &&
+               git commit -m "test1"
+       ) &&
+       mkdir -p dir2/b &&
+       (
+               cd dir2/b &&
+               git init &&
+               echo hello >testfile1 &&
+               git add .  &&
+               git commit -m "test2"
+       ) &&
+       git submodule add /dir1/b dir1/b &&
+       git submodule add /dir2/b dir2/b &&
+       git commit -m "first submodule commit" &&
+       git submodule--helper list dir1/b |cut -c51- >actual &&
+       echo "dir1/b" >expect &&
+       test_cmp expect actual
+'
+
 
 test_done