diff -r f7b0ebe6ad42 -r aeacc2055f0d mercurial/revset.py --- a/mercurial/revset.py Thu Oct 02 19:22:03 2014 -0500 +++ b/mercurial/revset.py Thu Oct 02 19:22:17 2014 -0500 @@ -2291,7 +2291,8 @@ """Returns a new object with the substraction of the two collections. This is part of the mandatory API for smartset.""" - raise NotImplementedError() + c = other.__contains__ + return self.filter(lambda r: not c(r)) def filter(self, condition): """Returns this smartset filtered by condition as a new smartset.