comparison mercurial/cmdutil.py @ 18169:ae663cba9a8d

cmdutil: make getgraphlogrevs return revs in descending order
author Siddharth Agarwal <sid0@fb.com>
date Fri, 28 Dec 2012 14:46:58 -0800
parents 54f063acc5ea
children 0dcc77b271b9
comparison
equal deleted inserted replaced
18168:c351759ab0a0 18169:ae663cba9a8d
1428 if not len(repo): 1428 if not len(repo):
1429 return iter([]), None, None 1429 return iter([]), None, None
1430 # Default --rev value depends on --follow but --follow behaviour 1430 # Default --rev value depends on --follow but --follow behaviour
1431 # depends on revisions resolved from --rev... 1431 # depends on revisions resolved from --rev...
1432 follow = opts.get('follow') or opts.get('follow_first') 1432 follow = opts.get('follow') or opts.get('follow_first')
1433 possiblyunsorted = False # whether revs might need sorting
1433 if opts.get('rev'): 1434 if opts.get('rev'):
1434 revs = scmutil.revrange(repo, opts['rev']) 1435 revs = scmutil.revrange(repo, opts['rev'])
1436 # Don't sort here because _makegraphlogrevset might depend on the
1437 # order of revs
1438 possiblyunsorted = True
1435 else: 1439 else:
1436 if follow and len(repo) > 0: 1440 if follow and len(repo) > 0:
1437 revs = repo.revs('reverse(:.)') 1441 revs = repo.revs('reverse(:.)')
1438 else: 1442 else:
1439 revs = list(repo.changelog) 1443 revs = list(repo.changelog)
1440 revs.reverse() 1444 revs.reverse()
1441 if not revs: 1445 if not revs:
1442 return iter([]), None, None 1446 return iter([]), None, None
1443 expr, filematcher = _makegraphlogrevset(repo, pats, opts, revs) 1447 expr, filematcher = _makegraphlogrevset(repo, pats, opts, revs)
1448 if possiblyunsorted:
1449 revs.sort(reverse=True)
1444 if expr: 1450 if expr:
1445 matcher = revset.match(repo.ui, expr) 1451 matcher = revset.match(repo.ui, expr)
1446 revs = increasingrevs(repo, revs, matcher) 1452 revs = increasingrevs(repo, revs, matcher)
1447 if not opts.get('hidden'): 1453 if not opts.get('hidden'):
1448 # --hidden is still experimental and not worth a dedicated revset 1454 # --hidden is still experimental and not worth a dedicated revset