changeset 4182:01c4ea5e788c

A 'glob:foo?bar' pattern determines a root - the tree root
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 10 Mar 2007 23:00:47 -0300
parents 08d31e43592a
children ce3ecf99a18b
files mercurial/util.py tests/test-walk tests/test-walk.out
diffstat 3 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -469,7 +469,7 @@ def _matcher(canonroot, cwd, names, inc,
         for p in pat.split('/'):
             if contains_glob(p): break
             root.append(p)
-        return '/'.join(root)
+        return '/'.join(root) or '.'
 
     pats = []
     files = []
@@ -483,7 +483,7 @@ def _matcher(canonroot, cwd, names, inc,
             pats.append((kind, name))
         if kind == 'glob':
             root = globprefix(name)
-            if root: roots.append(root)
+            roots.append(root)
         elif kind == 'relpath':
             files.append((kind, name))
             roots.append(name)
--- a/tests/test-walk
+++ b/tests/test-walk
@@ -49,6 +49,8 @@ hg debugwalk glob:\*
 hg debugwalk 're:.*[kb]$'
 hg debugwalk path:beans/black
 hg debugwalk beans 'glob:beans/*'
+hg debugwalk 'glob:mamm**'
+hg debugwalk 'glob:mamm**' fennel
 hg debugwalk 'glob:j*'
 hg debugwalk NOEXIST
 mkfifo fifo
--- a/tests/test-walk.out
+++ b/tests/test-walk.out
@@ -90,6 +90,15 @@ f  beans/kidney    beans/kidney
 f  beans/navy      beans/navy
 f  beans/pinto     beans/pinto
 f  beans/turtle    beans/turtle
+f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
+f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
+f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
+f  mammals/skunk                   mammals/skunk
+f  fennel                          fennel                          exact
+f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
+f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
+f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
+f  mammals/skunk                   mammals/skunk
 NOEXIST: No such file or directory
 fifo: unsupported file type (type is fifo)
 m  fenugreek  fenugreek  exact