diff -r 4a9191ca848e -r 2e33cda452f6 mercurial/revset.py --- 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()