changeset 20512 | 659b8d8ddf19 |
parent 20499 | 2efd608473fb |
child 20521 | 1850a7f5fb66 |
--- a/mercurial/revset.py Sat Feb 15 19:12:53 2014 -0600 +++ b/mercurial/revset.py Tue Feb 04 15:31:57 2014 -0800 @@ -2117,9 +2117,13 @@ def __init__(self, subset, condition): self._subset = subset self._condition = condition + self._cache = {} def __contains__(self, x): - return x in self._subset and self._condition(x) + c = self._cache + if x not in c: + c[x] = x in self._subset and self._condition(x) + return c[x] def __iter__(self): cond = self._condition