comparison mercurial/revset.py @ 28426:3d39ac06af9a

revset: add inspection data to limit() and last() functions We are likely to be interested in how these functions calculate a result set.
author Yuya Nishihara <yuya@tcha.org>
date Tue, 16 Feb 2016 21:43:51 +0900
parents 02d7faaf455c
children 969a4615c4c4
comparison
equal deleted inserted replaced
28425:02d7faaf455c 28426:3d39ac06af9a
1286 y = next(it, None) 1286 y = next(it, None)
1287 if y is None: 1287 if y is None:
1288 break 1288 break
1289 elif y in subset: 1289 elif y in subset:
1290 result.append(y) 1290 result.append(y)
1291 return baseset(result) 1291 return baseset(result, datarepr=('<limit n=%d, offset=%d, %r, %r>',
1292 lim, ofs, subset, os))
1292 1293
1293 @predicate('last(set, [n])', safe=True) 1294 @predicate('last(set, [n])', safe=True)
1294 def last(repo, subset, x): 1295 def last(repo, subset, x):
1295 """Last n members of set, defaulting to 1. 1296 """Last n members of set, defaulting to 1.
1296 """ 1297 """
1312 y = next(it, None) 1313 y = next(it, None)
1313 if y is None: 1314 if y is None:
1314 break 1315 break
1315 elif y in subset: 1316 elif y in subset:
1316 result.append(y) 1317 result.append(y)
1317 return baseset(result) 1318 return baseset(result, datarepr=('<last n=%d, %r, %r>', lim, subset, os))
1318 1319
1319 @predicate('max(set)', safe=True) 1320 @predicate('max(set)', safe=True)
1320 def maxrev(repo, subset, x): 1321 def maxrev(repo, subset, x):
1321 """Changeset with highest revision number in set. 1322 """Changeset with highest revision number in set.
1322 """ 1323 """