diff mercurial/revset.py @ 22804:5385314e0b14

revset-limit: remove user of baseset.append A `baseset` has multiple cached results and will get even more in the future. Making it an object "populated once" like the other smartsets makes it both safer and simpler. The append method will be removed at some point.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 06 Oct 2014 10:57:01 -0700
parents 1fcd361efaf4
children e74245b79901
line wrap: on
line diff
--- a/mercurial/revset.py	Tue Oct 07 00:12:56 2014 -0700
+++ b/mercurial/revset.py	Mon Oct 06 10:57:01 2014 -0700
@@ -1015,16 +1015,16 @@
         raise error.ParseError(_("limit expects a number"))
     ss = subset.set()
     os = getset(repo, spanset(repo), l[0])
-    bs = baseset()
+    result = []
     it = iter(os)
     for x in xrange(lim):
         try:
             y = it.next()
             if y in ss:
-                bs.append(y)
+                result.append(y)
         except (StopIteration):
             break
-    return bs
+    return baseset(result)
 
 def last(repo, subset, x):
     """``last(set, [n])``