1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-23 18:26:08 +02:00
git/t/t6131-pathspec-icase.sh
Nguyễn Thái Ngọc Duy 854b09592c pathspec: rename match_pathspec_depth() to match_pathspec()
A long time ago, for some reason I was not happy with
match_pathspec(). I created a better version, match_pathspec_depth()
that was suppose to replace match_pathspec()
eventually. match_pathspec() has finally been gone since 6 months
ago. Use the shorter name for match_pathspec_depth().

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-02-24 14:37:14 -08:00

110 lines
2.3 KiB
Bash
Executable File

#!/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