mercurial/cmdutil.py
changeset 30003 46825334f270
parent 29963 e824de573112
child 30004 5aaa3d6b7e92
equal deleted inserted replaced
30002:599912a62ff6 30003:46825334f270
  2153             revs.sort(reverse=True)
  2153             revs.sort(reverse=True)
  2154     if expr:
  2154     if expr:
  2155         # Revset matchers often operate faster on revisions in changelog
  2155         # Revset matchers often operate faster on revisions in changelog
  2156         # order, because most filters deal with the changelog.
  2156         # order, because most filters deal with the changelog.
  2157         revs.reverse()
  2157         revs.reverse()
  2158         matcher = revset.match(repo.ui, expr)
  2158         matcher = revset.match(repo.ui, expr, order=revset.followorder)
  2159         # Revset matches can reorder revisions. "A or B" typically returns
       
  2160         # returns the revision matching A then the revision matching B. Sort
       
  2161         # again to fix that.
       
  2162         revs = matcher(repo, revs)
  2159         revs = matcher(repo, revs)
  2163         revs.sort(reverse=True)
  2160         revs.reverse()
  2164     if limit is not None:
  2161     if limit is not None:
  2165         limitedrevs = []
  2162         limitedrevs = []
  2166         for idx, rev in enumerate(revs):
  2163         for idx, rev in enumerate(revs):
  2167             if idx >= limit:
  2164             if idx >= limit:
  2168                 break
  2165                 break