Mercurial > public > mercurial-scm > hg-stable
diff mercurial/util.py @ 4188:ce3ecf99a18b
util._matcher: fix handling of relglob: patterns
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 10 Mar 2007 23:00:48 -0300 |
parents | 01c4ea5e788c |
children | b1716a1f79c4 |
line wrap: on
line diff
--- a/mercurial/util.py Sat Mar 10 23:00:47 2007 -0300 +++ b/mercurial/util.py Sat Mar 10 23:00:48 2007 -0300 @@ -433,7 +433,7 @@ elif kind == 'path': return '^' + re.escape(name) + '(?:/|$)' elif kind == 'relglob': - return head + globre(name, '(?:|.*/)', tail) + return head + globre(name, '(?:|.*/)', '(?:/|$)') elif kind == 'relpath': return head + re.escape(name) + tail elif kind == 'relre': @@ -479,7 +479,9 @@ name = canonpath(canonroot, cwd, name) if name == '': kind, name = 'glob', '**' - if kind in ('glob', 'path', 're'): + elif kind == 'relglob': + name = normpath(name) + if kind in ('glob', 'path', 're', 'relglob'): pats.append((kind, name)) if kind == 'glob': root = globprefix(name) @@ -487,6 +489,8 @@ elif kind == 'relpath': files.append((kind, name)) roots.append(name) + elif kind == 'relglob': + roots.append('.') patmatch = matchfn(pats, '$') or always filematch = matchfn(files, '(?:/|$)') or always