# HG changeset patch # User Lucas Moscovicz # Date 2014-02-07 01:42:08 # Node ID 60c308b932ebd8a77f497ae285774fdced382eee # Parent 6490f8385391b2035469d4661f590e62f087db34 revset: added basic operators to orderedlazyset Now __and__ and __sub__ return orderedlazyset. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -2227,6 +2227,14 @@ class orderedlazyset(lazyset): def filter(self, l): return orderedlazyset(self, l, ascending=self._ascending) + def __and__(self, x): + return orderedlazyset(self, lambda r: r in x, + ascending=self._ascending) + + def __sub__(self, x): + return orderedlazyset(self, lambda r: r not in x, + ascending=self._ascending) + class generatorset(object): """Wrapper structure for generators that provides lazy membership and can be iterated more than once.