author | Finn Arne Gangstad <finnag@pvv.org> | |
Tue, 10 Feb 2009 14:20:17 +0000 (15:20 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 12 Feb 2009 19:36:43 +0000 (11:36 -0800) | ||
commit | dd482eeac2524627beee323438dd1fdf34b4f97e | |
tree | ddc936c8d1b3c27c021163c420ec28693eb61455 | tree | snapshot |
parent | ab2fdb3b62589477bde0cd0af8239bee510c3488 | commit | diff |
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>
"\" 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>
dir.c | diff | blob | history | |
t/t3001-ls-files-others-exclude.sh | diff | blob | history |