changeset 4181:08d31e43592a

Leave normalization of patterns to util._matcher Passing [] to util.cmdmatcher accidentally fixes walking of files with "\n" in the name.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 10 Mar 2007 23:00:46 -0300
parents 51ee2868a571
children 01c4ea5e788c
files mercurial/cmdutil.py tests/test-issue352 tests/test-issue352.out
diffstat 3 files changed, 16 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -129,13 +129,7 @@ def make_file(repo, pat, node=None,
 
 def matchpats(repo, pats=[], opts={}, head='', globbed=False):
     cwd = repo.getcwd()
-    if not pats and cwd:
-        opts['include'] = [os.path.join(cwd, i)
-                           for i in opts.get('include', [])]
-        opts['exclude'] = [os.path.join(cwd, x)
-                           for x in opts.get('exclude', [])]
-        cwd = ''
-    return util.cmdmatcher(repo.root, cwd, pats or ['.'], opts.get('include'),
+    return util.cmdmatcher(repo.root, cwd, pats or [], opts.get('include'),
                            opts.get('exclude'), head, globbed=globbed)
 
 def walk(repo, pats=[], opts={}, node=None, head='', badmatch=None,
--- a/tests/test-issue352
+++ b/tests/test-issue352
@@ -6,16 +6,17 @@ cd foo
 
 A=`echo -e -n 'he\rllo'`
 
-echo foo > "hell
-o"
 echo foo > "$A"
 hg add
 hg ci -A -m m
 rm "$A"
-ls
+
+echo foo > "hell
+o"
 hg add
-# BUG ? we don't walk on filenames with '\n' (regexp related) ?
-hg debugwalk
 hg ci -A -m m
 
+echo foo > "$A"
+hg debugwalk
+
 exit 0
--- a/tests/test-issue352.out
+++ b/tests/test-issue352.out
@@ -2,6 +2,13 @@ adding he
llo
 abort: '\n' and '\r' disallowed in filenames
 adding he
llo
 abort: '\n' and '\r' disallowed in filenames
-hell
+adding hell
+o
+abort: '\n' and '\r' disallowed in filenames
+adding hell
 o
-nothing changed
+abort: '\n' and '\r' disallowed in filenames
+f  he
llo  he
llo
+f  hell
+o  hell
+o