# HG changeset patch # User Pierre-Yves David # Date 2014-10-06 17:57:01 # Node ID 5385314e0b146fbb457a1b10b01eaf6e533115eb # Parent 31a591c3feccaf57b7c7f3da47560a117b146bf9 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. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -1015,16 +1015,16 @@ def limit(repo, subset, x): 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])``