diff options
author | Finn Arne Gangstad <finnag@pvv.org> | 2009-02-10 15:20:17 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-12 11:36:43 -0800 |
commit | dd482eeac2524627beee323438dd1fdf34b4f97e (patch) | |
tree | ddc936c8d1b3c27c021163c420ec28693eb61455 /t | |
parent | ab2fdb3b62589477bde0cd0af8239bee510c3488 (diff) | |
download | git-dd482eeac2524627beee323438dd1fdf34b4f97e.tar.gz git-dd482eeac2524627beee323438dd1fdf34b4f97e.tar.xz |
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')
-rwxr-xr-x | t/t3001-ls-files-others-exclude.sh | 9 |
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 8666946b0..6a1711374 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 |