You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.3 KiB
109 lines
2.3 KiB
#!/bin/sh |
|
|
|
test_description='test case insensitive pathspec limiting' |
|
. ./test-lib.sh |
|
|
|
if test_have_prereq CASE_INSENSITIVE_FS |
|
then |
|
skip_all='skipping case sensitive tests - case insensitive file system' |
|
test_done |
|
fi |
|
|
|
test_expect_success 'create commits with glob characters' ' |
|
test_commit bar bar && |
|
test_commit bAr bAr && |
|
test_commit BAR BAR && |
|
mkdir foo && |
|
test_commit foo/bar foo/bar && |
|
test_commit foo/bAr foo/bAr && |
|
test_commit foo/BAR foo/BAR && |
|
mkdir fOo && |
|
test_commit fOo/bar fOo/bar && |
|
test_commit fOo/bAr fOo/bAr && |
|
test_commit fOo/BAR fOo/BAR && |
|
mkdir FOO && |
|
test_commit FOO/bar FOO/bar && |
|
test_commit FOO/bAr FOO/bAr && |
|
test_commit FOO/BAR FOO/BAR |
|
' |
|
|
|
test_expect_success 'tree_entry_interesting matches bar' ' |
|
echo bar >expect && |
|
git log --format=%s -- "bar" >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'tree_entry_interesting matches :(icase)bar' ' |
|
cat <<-EOF >expect && |
|
BAR |
|
bAr |
|
bar |
|
EOF |
|
git log --format=%s -- ":(icase)bar" >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'tree_entry_interesting matches :(icase)bar with prefix' ' |
|
cat <<-EOF >expect && |
|
fOo/BAR |
|
fOo/bAr |
|
fOo/bar |
|
EOF |
|
( cd fOo && git log --format=%s -- ":(icase)bar" ) >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'tree_entry_interesting matches :(icase)bar with empty prefix' ' |
|
cat <<-EOF >expect && |
|
FOO/BAR |
|
FOO/bAr |
|
FOO/bar |
|
fOo/BAR |
|
fOo/bAr |
|
fOo/bar |
|
foo/BAR |
|
foo/bAr |
|
foo/bar |
|
EOF |
|
( cd fOo && git log --format=%s -- ":(icase)../foo/bar" ) >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'match_pathspec matches :(icase)bar' ' |
|
cat <<-EOF >expect && |
|
BAR |
|
bAr |
|
bar |
|
EOF |
|
git ls-files ":(icase)bar" >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'match_pathspec matches :(icase)bar with prefix' ' |
|
cat <<-EOF >expect && |
|
fOo/BAR |
|
fOo/bAr |
|
fOo/bar |
|
EOF |
|
( cd fOo && git ls-files --full-name ":(icase)bar" ) >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'match_pathspec matches :(icase)bar with empty prefix' ' |
|
cat <<-EOF >expect && |
|
bar |
|
fOo/BAR |
|
fOo/bAr |
|
fOo/bar |
|
EOF |
|
( cd fOo && git ls-files --full-name ":(icase)bar" ../bar ) >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success '"git diff" can take magic :(icase) pathspec' ' |
|
echo FOO/BAR >expect && |
|
git diff --name-only HEAD^ HEAD -- ":(icase)foo/bar" >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_done
|
|
|