mercurial/util.py
changeset 4236 34c4540c04c5
parent 4233 03a665f9f913
child 4237 da6b14877195
child 4255 ef1f1a4b2efb
equal deleted inserted replaced
4235:eca3277c4220 4236:34c4540c04c5
   474             root.append(p)
   474             root.append(p)
   475         return '/'.join(root) or '.'
   475         return '/'.join(root) or '.'
   476 
   476 
   477     def normalizepats(names, default):
   477     def normalizepats(names, default):
   478         pats = []
   478         pats = []
   479         files = []
       
   480         roots = []
   479         roots = []
   481         anypats = False
   480         anypats = False
   482         for kind, name in [patkind(p, default) for p in names]:
   481         for kind, name in [patkind(p, default) for p in names]:
   483             if kind in ('glob', 'relpath'):
   482             if kind in ('glob', 'relpath'):
   484                 name = canonpath(canonroot, cwd, name)
   483                 name = canonpath(canonroot, cwd, name)
   485             elif kind in ('relglob', 'path'):
   484             elif kind in ('relglob', 'path'):
   486                 name = normpath(name)
   485                 name = normpath(name)
       
   486 
       
   487             pats.append((kind, name))
       
   488 
   487             if kind in ('glob', 're', 'relglob', 'relre'):
   489             if kind in ('glob', 're', 'relglob', 'relre'):
   488                 pats.append((kind, name))
       
   489                 anypats = True
   490                 anypats = True
       
   491 
   490             if kind == 'glob':
   492             if kind == 'glob':
   491                 root = globprefix(name)
   493                 root = globprefix(name)
   492                 roots.append(root)
   494                 roots.append(root)
   493             elif kind in ('relpath', 'path'):
   495             elif kind in ('relpath', 'path'):
   494                 files.append((kind, name))
       
   495                 roots.append(name or '.')
   496                 roots.append(name or '.')
   496             elif kind == 'relglob':
   497             elif kind == 'relglob':
   497                 roots.append('.')
   498                 roots.append('.')
   498         return roots, pats + files, anypats
   499         return roots, pats, anypats
   499 
   500 
   500     roots, pats, anypats = normalizepats(names, dflt_pat)
   501     roots, pats, anypats = normalizepats(names, dflt_pat)
   501 
   502 
   502     patmatch = matchfn(pats, '$') or always
   503     patmatch = matchfn(pats, '$') or always
   503     incmatch = always
   504     incmatch = always