# HG changeset patch # User Alexis S. L. Carvalho # Date 1173578447 10800 # Node ID 01c4ea5e788c416f9a8861a34472238035497951 # Parent 08d31e43592a26bef2150566a2669f84f5bd77b0 A 'glob:foo?bar' pattern determines a root - the tree root diff --git a/mercurial/util.py b/mercurial/util.py --- 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) diff --git a/tests/test-walk b/tests/test-walk --- 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 diff --git a/tests/test-walk.out b/tests/test-walk.out --- 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