mercurial/cmdutil.py
changeset 24060 eb1c9700d19d
parent 24059 8d295ce6e488
child 24061 4fa72a09c73d
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()