comparison mercurial/cmdutil.py @ 24060:eb1c9700d19d

graphlog: move comment and flag denoting revs might be unsorted This prepares for extracting common part from getgraphlogrevs() and getlogrevs(). "possiblyunsorted" exists only in getgraphlogrevs().
author Yuya Nishihara <yuya@tcha.org>
date Thu, 05 Feb 2015 23:49:18 +0900
parents 8d295ce6e488
children 4fa72a09c73d
comparison
equal deleted inserted replaced
24059:8d295ce6e488 24060:eb1c9700d19d
1832 """ 1832 """
1833 limit = loglimit(opts) 1833 limit = loglimit(opts)
1834 # Default --rev value depends on --follow but --follow behaviour 1834 # Default --rev value depends on --follow but --follow behaviour
1835 # depends on revisions resolved from --rev... 1835 # depends on revisions resolved from --rev...
1836 follow = opts.get('follow') or opts.get('follow_first') 1836 follow = opts.get('follow') or opts.get('follow_first')
1837 possiblyunsorted = False # whether revs might need sorting
1838 if opts.get('rev'): 1837 if opts.get('rev'):
1839 revs = scmutil.revrange(repo, opts['rev']) 1838 revs = scmutil.revrange(repo, opts['rev'])
1840 # Don't sort here because _makelogrevset might depend on the
1841 # order of revs
1842 possiblyunsorted = True
1843 else: 1839 else:
1844 if follow and len(repo) > 0: 1840 if follow and len(repo) > 0:
1845 revs = repo.revs('reverse(:.)') 1841 revs = repo.revs('reverse(:.)')
1846 else: 1842 else:
1847 revs = revset.spanset(repo) 1843 revs = revset.spanset(repo)
1848 revs.reverse() 1844 revs.reverse()
1849 if not revs: 1845 if not revs:
1850 return revset.baseset(), None, None 1846 return revset.baseset(), None, None
1851 expr, filematcher = _makelogrevset(repo, pats, opts, revs) 1847 expr, filematcher = _makelogrevset(repo, pats, opts, revs)
1852 if possiblyunsorted: 1848 if opts.get('rev'):
1849 # User-specified revs might be unsorted, but don't sort before
1850 # _makelogrevset because it might depend on the order of revs
1853 revs.sort(reverse=True) 1851 revs.sort(reverse=True)
1854 if expr: 1852 if expr:
1855 # Revset matchers often operate faster on revisions in changelog 1853 # Revset matchers often operate faster on revisions in changelog
1856 # order, because most filters deal with the changelog. 1854 # order, because most filters deal with the changelog.
1857 revs.reverse() 1855 revs.reverse()