diff -r 6e38b5d49977 -r b6dc3b79bb25 mercurial/revset.py --- a/mercurial/revset.py Fri Apr 25 14:51:24 2014 -0700 +++ b/mercurial/revset.py Wed Apr 30 16:56:48 2014 -0700 @@ -2672,9 +2672,11 @@ i += 1 def _consumegen(self): + cache = self._cache + genlist = self._genlist.append for item in self._gen: - self._cache[item] = True - self._genlist.append(item) + cache[item] = True + genlist(item) yield item self._finished = True