Mercurial > hg
comparison mercurial/cmdutil.py @ 4200:b5d1eaade333
Merge a bunch of matcher and locate fixes.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 10 Mar 2007 23:21:33 -0300 |
parents | eb5d4fec1487 492d0d5b6976 |
children | dbc3846c09a1 |
comparison
equal
deleted
inserted
replaced
4182:ba51a8225a60 | 4200:b5d1eaade333 |
---|---|
123 return pat | 123 return pat |
124 return open(make_filename(repo, pat, node, total, seqno, revwidth, | 124 return open(make_filename(repo, pat, node, total, seqno, revwidth, |
125 pathname), | 125 pathname), |
126 mode) | 126 mode) |
127 | 127 |
128 def matchpats(repo, pats=[], opts={}, head='', globbed=False): | 128 def matchpats(repo, pats=[], opts={}, globbed=False, default=None): |
129 cwd = repo.getcwd() | 129 cwd = repo.getcwd() |
130 if not pats and cwd: | 130 return util.cmdmatcher(repo.root, cwd, pats or [], opts.get('include'), |
131 opts['include'] = [os.path.join(cwd, i) | 131 opts.get('exclude'), globbed=globbed, |
132 for i in opts.get('include', [])] | 132 default=default) |
133 opts['exclude'] = [os.path.join(cwd, x) | 133 |
134 for x in opts.get('exclude', [])] | 134 def walk(repo, pats=[], opts={}, node=None, badmatch=None, globbed=False, |
135 cwd = '' | 135 default=None): |
136 return util.cmdmatcher(repo.root, cwd, pats or ['.'], opts.get('include'), | 136 files, matchfn, anypats = matchpats(repo, pats, opts, globbed=globbed, |
137 opts.get('exclude'), head, globbed=globbed) | 137 default=default) |
138 | |
139 def walk(repo, pats=[], opts={}, node=None, head='', badmatch=None, | |
140 globbed=False): | |
141 files, matchfn, anypats = matchpats(repo, pats, opts, head, | |
142 globbed=globbed) | |
143 exact = dict.fromkeys(files) | 138 exact = dict.fromkeys(files) |
144 for src, fn in repo.walk(node=node, files=files, match=matchfn, | 139 for src, fn in repo.walk(node=node, files=files, match=matchfn, |
145 badmatch=badmatch): | 140 badmatch=badmatch): |
146 yield src, fn, util.pathto(repo.getcwd(), fn), fn in exact | 141 yield src, fn, util.pathto(repo.getcwd(), fn), fn in exact |
147 | 142 |