Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/util.py @ 4187: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 | 51ee2868a571 |
children | ce3ecf99a18b |
comparison
equal
deleted
inserted
replaced
4186:08d31e43592a | 4187:01c4ea5e788c |
---|---|
467 '''return the non-glob prefix of a path, e.g. foo/* -> foo''' | 467 '''return the non-glob prefix of a path, e.g. foo/* -> foo''' |
468 root = [] | 468 root = [] |
469 for p in pat.split('/'): | 469 for p in pat.split('/'): |
470 if contains_glob(p): break | 470 if contains_glob(p): break |
471 root.append(p) | 471 root.append(p) |
472 return '/'.join(root) | 472 return '/'.join(root) or '.' |
473 | 473 |
474 pats = [] | 474 pats = [] |
475 files = [] | 475 files = [] |
476 roots = [] | 476 roots = [] |
477 for kind, name in [patkind(p, dflt_pat) for p in names]: | 477 for kind, name in [patkind(p, dflt_pat) for p in names]: |
481 kind, name = 'glob', '**' | 481 kind, name = 'glob', '**' |
482 if kind in ('glob', 'path', 're'): | 482 if kind in ('glob', 'path', 're'): |
483 pats.append((kind, name)) | 483 pats.append((kind, name)) |
484 if kind == 'glob': | 484 if kind == 'glob': |
485 root = globprefix(name) | 485 root = globprefix(name) |
486 if root: roots.append(root) | 486 roots.append(root) |
487 elif kind == 'relpath': | 487 elif kind == 'relpath': |
488 files.append((kind, name)) | 488 files.append((kind, name)) |
489 roots.append(name) | 489 roots.append(name) |
490 | 490 |
491 patmatch = matchfn(pats, '$') or always | 491 patmatch = matchfn(pats, '$') or always |