diff options
Diffstat (limited to 'third_party/git/t/t3011-common-prefixes-and-directory-traversal.sh')
-rwxr-xr-x | third_party/git/t/t3011-common-prefixes-and-directory-traversal.sh | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/third_party/git/t/t3011-common-prefixes-and-directory-traversal.sh b/third_party/git/t/t3011-common-prefixes-and-directory-traversal.sh deleted file mode 100755 index 3da5b2b6e795..000000000000 --- a/third_party/git/t/t3011-common-prefixes-and-directory-traversal.sh +++ /dev/null @@ -1,209 +0,0 @@ -#!/bin/sh - -test_description='directory traversal handling, especially with common prefixes' - -. ./test-lib.sh - -test_expect_success 'setup' ' - test_commit hello && - - >empty && - mkdir untracked_dir && - >untracked_dir/empty && - git init untracked_repo && - >untracked_repo/empty && - - cat <<-EOF >.gitignore && - ignored - an_ignored_dir/ - EOF - mkdir an_ignored_dir && - mkdir an_untracked_dir && - >an_ignored_dir/ignored && - >an_ignored_dir/untracked && - >an_untracked_dir/ignored && - >an_untracked_dir/untracked -' - -test_expect_success 'git ls-files -o shows the right entries' ' - cat <<-EOF >expect && - .gitignore - actual - an_ignored_dir/ignored - an_ignored_dir/untracked - an_untracked_dir/ignored - an_untracked_dir/untracked - empty - expect - untracked_dir/empty - untracked_repo/ - EOF - git ls-files -o >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o --exclude-standard shows the right entries' ' - cat <<-EOF >expect && - .gitignore - actual - an_untracked_dir/untracked - empty - expect - untracked_dir/empty - untracked_repo/ - EOF - git ls-files -o --exclude-standard >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o untracked_dir recurses' ' - echo untracked_dir/empty >expect && - git ls-files -o untracked_dir >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o untracked_dir/ recurses' ' - echo untracked_dir/empty >expect && - git ls-files -o untracked_dir/ >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o --directory untracked_dir does not recurse' ' - echo untracked_dir/ >expect && - git ls-files -o --directory untracked_dir >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o --directory untracked_dir/ does not recurse' ' - echo untracked_dir/ >expect && - git ls-files -o --directory untracked_dir/ >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o untracked_repo does not recurse' ' - echo untracked_repo/ >expect && - git ls-files -o untracked_repo >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o untracked_repo/ does not recurse' ' - echo untracked_repo/ >expect && - git ls-files -o untracked_repo/ >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only' ' - cat <<-EOF >expect && - untracked_dir/empty - untracked_repo/ - EOF - git ls-files -o untracked_dir untracked_repo >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o untracked_dir/ untracked_repo/ recurses into untracked_dir only' ' - cat <<-EOF >expect && - untracked_dir/empty - untracked_repo/ - EOF - git ls-files -o untracked_dir/ untracked_repo/ >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o --directory untracked_dir untracked_repo does not recurse' ' - cat <<-EOF >expect && - untracked_dir/ - untracked_repo/ - EOF - git ls-files -o --directory untracked_dir untracked_repo >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o --directory untracked_dir/ untracked_repo/ does not recurse' ' - cat <<-EOF >expect && - untracked_dir/ - untracked_repo/ - EOF - git ls-files -o --directory untracked_dir/ untracked_repo/ >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o .git shows nothing' ' - git ls-files -o .git >actual && - test_must_be_empty actual -' - -test_expect_success 'git ls-files -o .git/ shows nothing' ' - git ls-files -o .git/ >actual && - test_must_be_empty actual -' - -test_expect_success FUNNYNAMES 'git ls-files -o untracked_* recurses appropriately' ' - mkdir "untracked_*" && - >"untracked_*/empty" && - - cat <<-EOF >expect && - untracked_*/empty - untracked_dir/empty - untracked_repo/ - EOF - git ls-files -o "untracked_*" >actual && - test_cmp expect actual -' - -# It turns out fill_directory returns the right paths, but ls-files' post-call -# filtering in show_dir_entry() via calling dir_path_match() which ends up -# in git_fnmatch() has logic for PATHSPEC_ONESTAR that assumes the pathspec -# must match the full path; it doesn't check it for matching a leading -# directory. -test_expect_failure FUNNYNAMES 'git ls-files -o untracked_*/ recurses appropriately' ' - cat <<-EOF >expect && - untracked_*/empty - untracked_dir/empty - untracked_repo/ - EOF - git ls-files -o "untracked_*/" >actual && - test_cmp expect actual -' - -test_expect_success FUNNYNAMES 'git ls-files -o --directory untracked_* does not recurse' ' - cat <<-EOF >expect && - untracked_*/ - untracked_dir/ - untracked_repo/ - EOF - git ls-files -o --directory "untracked_*" >actual && - test_cmp expect actual -' - -test_expect_success FUNNYNAMES 'git ls-files -o --directory untracked_*/ does not recurse' ' - cat <<-EOF >expect && - untracked_*/ - untracked_dir/ - untracked_repo/ - EOF - git ls-files -o --directory "untracked_*/" >actual && - test_cmp expect actual -' - -test_expect_success 'git ls-files -o consistent between one or two dirs' ' - git ls-files -o --exclude-standard an_ignored_dir/ an_untracked_dir/ >tmp && - ! grep ^an_ignored_dir/ tmp >expect && - git ls-files -o --exclude-standard an_ignored_dir/ >actual && - test_cmp expect actual -' - -# ls-files doesn't have a way to request showing both untracked and ignored -# files at the same time, so use `git status --ignored` -test_expect_success 'git status --ignored shows same files under dir with or without pathspec' ' - cat <<-EOF >expect && - ?? an_untracked_dir/ - !! an_untracked_dir/ignored - EOF - git status --porcelain --ignored >output && - grep an_untracked_dir output >expect && - git status --porcelain --ignored an_untracked_dir/ >actual && - test_cmp expect actual -' - -test_done |