comparison mercurial/revset.py @ 32798:573b792872c1

revset: fix order of last() n members where n > 1 (BC) last() is implemented using a reversed iterator, so the result should be reversed again. I've marked this as BC since it's quite old bug seen in 3.0. The first bad revision is 4849f574aa24 "revset: changed last implementation to use lazy classes."
author Yuya Nishihara <yuya@tcha.org>
date Sat, 10 Jun 2017 18:04:56 +0900
parents f75d0aa5dc83
children b36ec65ea583
comparison
equal deleted inserted replaced
32797:bcca357bb792 32798:573b792872c1
1200 y = next(it, None) 1200 y = next(it, None)
1201 if y is None: 1201 if y is None:
1202 break 1202 break
1203 elif y in subset: 1203 elif y in subset:
1204 result.append(y) 1204 result.append(y)
1205 return baseset(result, datarepr=('<last n=%d, %r, %r>', lim, subset, os)) 1205 return baseset(result[::-1], datarepr=('<last n=%d, %r, %r>',
1206 lim, subset, os))
1206 1207
1207 @predicate('max(set)', safe=True) 1208 @predicate('max(set)', safe=True)
1208 def maxrev(repo, subset, x): 1209 def maxrev(repo, subset, x):
1209 """Changeset with highest revision number in set. 1210 """Changeset with highest revision number in set.
1210 """ 1211 """