diff -r 180d47e1fb68 -r 88aae5382519 mercurial/revset.py --- a/mercurial/revset.py Fri Mar 14 10:22:29 2014 -0700 +++ b/mercurial/revset.py Fri Mar 14 10:22:51 2014 -0700 @@ -2419,6 +2419,12 @@ return orderedlazyset(self, filterfunc, ascending=self._ascending) return lazyset(self, filterfunc) + def __sub__(self, other): + filterfunc = lambda r: r not in other + if self._ascending is not None: + return orderedlazyset(self, filterfunc, ascending=self._ascending) + return lazyset(self, filterfunc) + def _iterator(self): """Iterate over both collections without repeating elements