Mercurial > hg
changeset 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 | 31a591c3fecc |
children | e74245b79901 |
files | mercurial/revset.py |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
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])``