Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revset.py @ 32817: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
32816:bcca357bb792 | 32817: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 """ |