summaryrefslogtreecommitdiff
path: root/t/t3001-ls-files-others-exclude.sh
diff options
context:
space:
mode:
authorFinn Arne Gangstad <finnag@pvv.org>2009-02-10 14:20:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-02-12 19:36:43 (GMT)
commitdd482eeac2524627beee323438dd1fdf34b4f97e (patch)
treeddc936c8d1b3c27c021163c420ec28693eb61455 /t/t3001-ls-files-others-exclude.sh
parentab2fdb3b62589477bde0cd0af8239bee510c3488 (diff)
downloadgit-dd482eeac2524627beee323438dd1fdf34b4f97e.zip
git-dd482eeac2524627beee323438dd1fdf34b4f97e.tar.gz
git-dd482eeac2524627beee323438dd1fdf34b4f97e.tar.bz2
Support "\" in non-wildcard exclusion entries
"\" was treated differently in exclude rules depending on whether a wildcard match was done. For wildcard rules, "\" was de-escaped in fnmatch, but this was not done for other rules since they used strcmp instead. A file named "#foo" would not be excluded by "\#foo", but would be excluded by "\#foo*". We now treat all rules with "\" as wildcard rules. Another solution could be to de-escape all non-wildcard rules as we read them, but we would have to do the de-escaping exactly as fnmatch does it to avoid inconsistencies. Signed-off-by: Finn Arne Gangstad <finnag@pvv.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3001-ls-files-others-exclude.sh')
-rwxr-xr-xt/t3001-ls-files-others-exclude.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh
index 8666946..6a17113 100755
--- a/t/t3001-ls-files-others-exclude.sh
+++ b/t/t3001-ls-files-others-exclude.sh
@@ -19,6 +19,9 @@ do
>$dir/a.$i
done
done
+>"#ignore1"
+>"#ignore2"
+>"#hidden"
cat >expect <<EOF
a.2
@@ -42,6 +45,9 @@ three/a.8
EOF
echo '.gitignore
+\#ignore1
+\#ignore2*
+\#hid*n
output
expect
.gitignore
@@ -79,9 +85,10 @@ test_expect_success \
>output &&
test_cmp expect output'
-cat > excludes-file << EOF
+cat > excludes-file <<\EOF
*.[1-8]
e*
+\#*
EOF
git config core.excludesFile excludes-file