diff 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
line wrap: on
line diff
--- a/mercurial/fileset.py	Wed Aug 15 17:39:03 2012 +0200
+++ b/mercurial/fileset.py	Wed Aug 15 19:02:04 2012 +0200
@@ -107,6 +107,11 @@
     s = set(getset(mctx, x))
     return [r for r in mctx.subset if r not in s]
 
+def minusset(mctx, x, y):
+    xl = getset(mctx, x)
+    yl = set(getset(mctx, y))
+    return [f for f in xl if f not in yl]
+
 def listset(mctx, a, b):
     raise error.ParseError(_("can't use a list in this context"))
 
@@ -406,6 +411,7 @@
     'symbol': stringset,
     'and': andset,
     'or': orset,
+    'minus': minusset,
     'list': listset,
     'group': getset,
     'not': notset,