255 'removed': ('removes("*")', None), |
255 'removed': ('removes("*")', None), |
256 'date': ('date(%(val)r)', None), |
256 'date': ('date(%(val)r)', None), |
257 'branch': ('branch(%(val)r)', ' or '), |
257 'branch': ('branch(%(val)r)', ' or '), |
258 'exclude': ('not file(%(val)r)', ' and '), |
258 'exclude': ('not file(%(val)r)', ' and '), |
259 'include': ('file(%(val)r)', ' and '), |
259 'include': ('file(%(val)r)', ' and '), |
|
260 '_pats': ('file(%(val)r)', ' or '), |
260 'keyword': ('keyword(%(val)r)', ' or '), |
261 'keyword': ('keyword(%(val)r)', ' or '), |
261 'prune': ('not (%(val)r or ancestors(%(val)r))', ' and '), |
262 'prune': ('not (%(val)r or ancestors(%(val)r))', ' and '), |
262 'user': ('user(%(val)r)', ' or '), |
263 'user': ('user(%(val)r)', ' or '), |
263 'rev': ('%(val)s', ' or '), |
264 'rev': ('%(val)s', ' or '), |
264 } |
265 } |
265 |
266 |
|
267 opts = dict(opts) |
266 # branch and only_branch are really aliases and must be handled at |
268 # branch and only_branch are really aliases and must be handled at |
267 # the same time |
269 # the same time |
268 if 'branch' in opts and 'only_branch' in opts: |
270 if 'branch' in opts and 'only_branch' in opts: |
269 opts = dict(opts) |
|
270 opts['branch'] = opts['branch'] + opts.pop('only_branch') |
271 opts['branch'] = opts['branch'] + opts.pop('only_branch') |
|
272 opts['_pats'] = list(pats) |
271 |
273 |
272 revset = [] |
274 revset = [] |
273 for op, val in opts.iteritems(): |
275 for op, val in opts.iteritems(): |
274 if not val: |
276 if not val: |
275 continue |
277 continue |