diff -r 62b890496de5 -r 38e0c83c7ee4 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Mon Jun 13 21:30:14 2016 +0100 +++ b/mercurial/cmdutil.py Tue Jun 14 11:05:36 2016 +0100 @@ -2147,7 +2147,7 @@ if opts.get('rev'): # User-specified revs might be unsorted, but don't sort before # _makelogrevset because it might depend on the order of revs - if not revs.isdescending(): + if not (revs.isdescending() or revs.istopo()): revs.sort(reverse=True) if expr: # Revset matchers often operate faster on revisions in changelog