[PATCH 1 of 4] cmdutil: make getgraphlogrevs return revs in descending order
Siddharth Agarwal
sid0 at fb.com
Fri Dec 28 18:56:37 CST 2012
# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1356734818 28800
# Node ID 794951c412ac05bad45cf6aa3f91b64f20f8b539
# Parent 4945f41b009b6aa8eff843497ac96a0eb1840a56
cmdutil: make getgraphlogrevs return revs in descending order
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1430,8 +1430,12 @@ def getgraphlogrevs(repo, pats, opts):
# Default --rev value depends on --follow but --follow behaviour
# depends on revisions resolved from --rev...
follow = opts.get('follow') or opts.get('follow_first')
+ possiblyunsorted = False # whether revs might need sorting
if opts.get('rev'):
revs = scmutil.revrange(repo, opts['rev'])
+ # Don't sort here because _makegraphlogrevset might depend on the
+ # order of revs
+ possiblyunsorted = True
else:
if follow and len(repo) > 0:
revs = repo.revs('reverse(:.)')
@@ -1441,6 +1445,8 @@ def getgraphlogrevs(repo, pats, opts):
if not revs:
return iter([]), None, None
expr, filematcher = _makegraphlogrevset(repo, pats, opts, revs)
+ if possiblyunsorted:
+ revs.sort(reverse=True)
if expr:
matcher = revset.match(repo.ui, expr)
revs = increasingrevs(repo, revs, matcher)
More information about the Mercurial-devel
mailing list