]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t3007-ls-files-recurse-submodules.sh
Disallow dubiously-nested submodule git directories
[thirdparty/git.git] / t / t3007-ls-files-recurse-submodules.sh
index ebb956fd16ccce2536591da021239453da999140..318b5bce7ebeab2ad96097e992e37867b3a7adb5 100755 (executable)
@@ -135,6 +135,45 @@ test_expect_success '--recurse-submodules and pathspecs setup' '
        test_cmp expect actual
 '
 
+test_expect_success 'inactive submodule' '
+       test_when_finished "git config --bool submodule.submodule.active true" &&
+       test_when_finished "git -C submodule config --bool submodule.subsub.active true" &&
+       git config --bool submodule.submodule.active "false" &&
+
+       cat >expect <<-\EOF &&
+       .gitmodules
+       a
+       b/b
+       h.txt
+       sib/file
+       sub/file
+       submodule
+       EOF
+
+       git ls-files --recurse-submodules >actual &&
+       test_cmp expect actual &&
+
+       git config --bool submodule.submodule.active "true" &&
+       git -C submodule config --bool submodule.subsub.active "false" &&
+
+       cat >expect <<-\EOF &&
+       .gitmodules
+       a
+       b/b
+       h.txt
+       sib/file
+       sub/file
+       submodule/.gitmodules
+       submodule/c
+       submodule/f.TXT
+       submodule/g.txt
+       submodule/subsub
+       EOF
+
+       git ls-files --recurse-submodules >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success '--recurse-submodules and pathspecs' '
        cat >expect <<-\EOF &&
        h.txt