Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/fileset.py @ 17363:5d9e2031c0b1 stable
fileset: actually implement 'minusset'
$ hg debugfileset 'a* - a1'
was tracing back because 'minus' symbol was not supported.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Wed, 15 Aug 2012 19:02:04 +0200 |
parents | 9e02e032b522 |
children | 8a0513bf030a |
comparison
equal
deleted
inserted
replaced
17362:bd867a9ca510 | 17363:5d9e2031c0b1 |
---|---|
105 | 105 |
106 def notset(mctx, x): | 106 def notset(mctx, x): |
107 s = set(getset(mctx, x)) | 107 s = set(getset(mctx, x)) |
108 return [r for r in mctx.subset if r not in s] | 108 return [r for r in mctx.subset if r not in s] |
109 | 109 |
110 def minusset(mctx, x, y): | |
111 xl = getset(mctx, x) | |
112 yl = set(getset(mctx, y)) | |
113 return [f for f in xl if f not in yl] | |
114 | |
110 def listset(mctx, a, b): | 115 def listset(mctx, a, b): |
111 raise error.ParseError(_("can't use a list in this context")) | 116 raise error.ParseError(_("can't use a list in this context")) |
112 | 117 |
113 def modified(mctx, x): | 118 def modified(mctx, x): |
114 """``modified()`` | 119 """``modified()`` |
404 methods = { | 409 methods = { |
405 'string': stringset, | 410 'string': stringset, |
406 'symbol': stringset, | 411 'symbol': stringset, |
407 'and': andset, | 412 'and': andset, |
408 'or': orset, | 413 'or': orset, |
414 'minus': minusset, | |
409 'list': listset, | 415 'list': listset, |
410 'group': getset, | 416 'group': getset, |
411 'not': notset, | 417 'not': notset, |
412 'func': func, | 418 'func': func, |
413 } | 419 } |