revset: added basic operations to lazyset
Added methods __add__, __sub__ and __and__ to duck type more methods in
baseset
--- a/mercurial/revset.py Thu Feb 06 14:19:40 2014 -0800
+++ b/mercurial/revset.py Thu Feb 06 14:25:37 2014 -0800
@@ -2090,5 +2090,15 @@
if cond(x):
yield x
+ def __and__(self, x):
+ return lazyset(self, lambda r: r in x)
+
+ def __sub__(self, x):
+ return lazyset(self, lambda r: r not in x)
+
+ def __add__(self, x):
+ l = baseset([r for r in self])
+ return l + baseset(x)
+
# tell hggettext to extract docstrings from these functions:
i18nfunctions = symbols.values()