log: drop hack to fix order of revset (
issue5100)
Specify ordered=revset.followorder instead.
This patch effectively backs out
c407583cf5f6. revs.sort(reverse=True)
is replaced by revs.reverse() because the matcher should no longer reorder
revisions.
--- a/mercurial/cmdutil.py Tue May 03 14:18:28 2016 +0900
+++ b/mercurial/cmdutil.py Tue May 03 14:24:00 2016 +0900
@@ -2189,19 +2189,10 @@
# order, because most filters deal with the changelog.
if not opts.get('rev'):
revs.reverse()
- matcher = revset.match(repo.ui, expr)
- # Revset matches can reorder revisions. "A or B" typically returns
- # returns the revision matching A then the revision matching B. Sort
- # again to fix that.
- fixopts = ['branch', 'only_branch', 'keyword', 'user']
- oldrevs = revs
+ matcher = revset.match(repo.ui, expr, order=revset.followorder)
revs = matcher(repo, revs)
if not opts.get('rev'):
- revs.sort(reverse=True)
- elif len(pats) > 1 or any(len(opts.get(op, [])) > 1 for op in fixopts):
- # XXX "A or B" is known to change the order; fix it by filtering
- # matched set again (issue5100)
- revs = oldrevs & revs
+ revs.reverse()
if limit is not None:
limitedrevs = []
for idx, r in enumerate(revs):