comparison mercurial/revset.py @ 22805:e74245b79901

revset-last: 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 Wed, 08 Oct 2014 00:55:09 -0700
parents 5385314e0b14
children 228b0aafb1ce
comparison
equal deleted inserted replaced
22804:5385314e0b14 22805:e74245b79901
1041 # i18n: "last" is a keyword 1041 # i18n: "last" is a keyword
1042 raise error.ParseError(_("last expects a number")) 1042 raise error.ParseError(_("last expects a number"))
1043 ss = subset.set() 1043 ss = subset.set()
1044 os = getset(repo, spanset(repo), l[0]) 1044 os = getset(repo, spanset(repo), l[0])
1045 os.reverse() 1045 os.reverse()
1046 bs = baseset() 1046 result = []
1047 it = iter(os) 1047 it = iter(os)
1048 for x in xrange(lim): 1048 for x in xrange(lim):
1049 try: 1049 try:
1050 y = it.next() 1050 y = it.next()
1051 if y in ss: 1051 if y in ss:
1052 bs.append(y) 1052 result.append(y)
1053 except (StopIteration): 1053 except (StopIteration):
1054 break 1054 break
1055 return bs 1055 return baseset(result)
1056 1056
1057 def maxrev(repo, subset, x): 1057 def maxrev(repo, subset, x):
1058 """``max(set)`` 1058 """``max(set)``
1059 Changeset with highest revision number in set. 1059 Changeset with highest revision number in set.
1060 """ 1060 """