diff options
Diffstat (limited to 'third_party/git/t/t3007-ls-files-recurse-submodules.sh')
-rwxr-xr-x | third_party/git/t/t3007-ls-files-recurse-submodules.sh | 299 |
1 files changed, 0 insertions, 299 deletions
diff --git a/third_party/git/t/t3007-ls-files-recurse-submodules.sh b/third_party/git/t/t3007-ls-files-recurse-submodules.sh deleted file mode 100755 index 4a0800071379..000000000000 --- a/third_party/git/t/t3007-ls-files-recurse-submodules.sh +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/sh - -test_description='Test ls-files recurse-submodules feature - -This test verifies the recurse-submodules feature correctly lists files from -submodules. -' - -. ./test-lib.sh - -test_expect_success 'setup directory structure and submodules' ' - echo a >a && - mkdir b && - echo b >b/b && - git add a b && - git commit -m "add a and b" && - git init submodule && - echo c >submodule/c && - git -C submodule add c && - git -C submodule commit -m "add c" && - git submodule add ./submodule && - git commit -m "added submodule" -' - -test_expect_success 'ls-files correctly outputs files in submodule' ' - cat >expect <<-\EOF && - .gitmodules - a - b/b - submodule/c - EOF - - git ls-files --recurse-submodules >actual && - test_cmp expect actual -' - -test_expect_success 'ls-files correctly outputs files in submodule with -z' ' - lf_to_nul >expect <<-\EOF && - .gitmodules - a - b/b - submodule/c - EOF - - git ls-files --recurse-submodules -z >actual && - test_cmp expect actual -' - -test_expect_success 'ls-files does not output files not added to a repo' ' - cat >expect <<-\EOF && - .gitmodules - a - b/b - submodule/c - EOF - - echo a >not_added && - echo b >b/not_added && - echo c >submodule/not_added && - git ls-files --recurse-submodules >actual && - test_cmp expect actual -' - -test_expect_success 'ls-files recurses more than 1 level' ' - cat >expect <<-\EOF && - .gitmodules - a - b/b - submodule/.gitmodules - submodule/c - submodule/subsub/d - EOF - - git init submodule/subsub && - echo d >submodule/subsub/d && - git -C submodule/subsub add d && - git -C submodule/subsub commit -m "add d" && - git -C submodule submodule add ./subsub && - git -C submodule commit -m "added subsub" && - git submodule absorbgitdirs && - git ls-files --recurse-submodules >actual && - test_cmp expect actual -' - -test_expect_success 'ls-files works with GIT_DIR' ' - cat >expect <<-\EOF && - .gitmodules - c - subsub/d - EOF - - git --git-dir=submodule/.git ls-files --recurse-submodules >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules and pathspecs setup' ' - echo e >submodule/subsub/e.txt && - git -C submodule/subsub add e.txt && - git -C submodule/subsub commit -m "adding e.txt" && - echo f >submodule/f.TXT && - echo g >submodule/g.txt && - git -C submodule add f.TXT g.txt && - git -C submodule commit -m "add f and g" && - echo h >h.txt && - mkdir sib && - echo sib >sib/file && - git add h.txt sib/file && - git commit -m "add h and sib/file" && - git init sub && - echo sub >sub/file && - git -C sub add file && - git -C sub commit -m "add file" && - git submodule add ./sub && - git commit -m "added sub" && - - 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/d - submodule/subsub/e.txt - EOF - - git ls-files --recurse-submodules >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "*" >actual && - 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 - submodule/g.txt - submodule/subsub/e.txt - EOF - - git ls-files --recurse-submodules "*.txt" >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules and pathspecs' ' - cat >expect <<-\EOF && - h.txt - submodule/f.TXT - submodule/g.txt - submodule/subsub/e.txt - EOF - - git ls-files --recurse-submodules ":(icase)*.txt" >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules and pathspecs' ' - cat >expect <<-\EOF && - h.txt - submodule/f.TXT - submodule/g.txt - EOF - - git ls-files --recurse-submodules ":(icase)*.txt" ":(exclude)submodule/subsub/*" >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules and pathspecs' ' - cat >expect <<-\EOF && - sub/file - EOF - - git ls-files --recurse-submodules "sub" >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "sub/" >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "sub/file" >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "su*/file" >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "su?/file" >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules and pathspecs' ' - cat >expect <<-\EOF && - sib/file - sub/file - EOF - - git ls-files --recurse-submodules "s??/file" >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "s???file" >actual && - test_cmp expect actual && - git ls-files --recurse-submodules "s*file" >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules and relative paths' ' - # From subdir - cat >expect <<-\EOF && - b - EOF - git -C b ls-files --recurse-submodules >actual && - test_cmp expect actual && - - # Relative path to top - cat >expect <<-\EOF && - ../.gitmodules - ../a - b - ../h.txt - ../sib/file - ../sub/file - ../submodule/.gitmodules - ../submodule/c - ../submodule/f.TXT - ../submodule/g.txt - ../submodule/subsub/d - ../submodule/subsub/e.txt - EOF - git -C b ls-files --recurse-submodules -- .. >actual && - test_cmp expect actual && - - # Relative path to submodule - cat >expect <<-\EOF && - ../submodule/.gitmodules - ../submodule/c - ../submodule/f.TXT - ../submodule/g.txt - ../submodule/subsub/d - ../submodule/subsub/e.txt - EOF - git -C b ls-files --recurse-submodules -- ../submodule >actual && - test_cmp expect actual -' - -test_expect_success '--recurse-submodules does not support --error-unmatch' ' - test_must_fail git ls-files --recurse-submodules --error-unmatch 2>actual && - test_i18ngrep "does not support --error-unmatch" actual -' - -test_incompatible_with_recurse_submodules () { - test_expect_success "--recurse-submodules and $1 are incompatible" " - test_must_fail git ls-files --recurse-submodules $1 2>actual && - test_i18ngrep 'unsupported mode' actual - " -} - -test_incompatible_with_recurse_submodules --deleted -test_incompatible_with_recurse_submodules --modified -test_incompatible_with_recurse_submodules --others -test_incompatible_with_recurse_submodules --stage -test_incompatible_with_recurse_submodules --killed -test_incompatible_with_recurse_submodules --unmerged - -test_done |