[PATCH 2 of 3] graphmod: avoid sorting when already sorted

Martijn Pieters mj at zopatista.com
Wed May 18 05:50:32 EDT 2016


# HG changeset patch
# User Martijn Pieters <mjpieters at fb.com>
# Date 1463470009 -3600
#      Tue May 17 08:26:49 2016 +0100
# Node ID 237abedf015f922c48ababf72218c83accb80229
# Parent  769ba6f6a3d16beb7be8340f72a04e5f6200da9e
graphmod: avoid sorting when already sorted

This is somewhat redundant now, but allows us to add a toposort that should not
be re-sorted either.

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -2147,7 +2147,9 @@
     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
-        revs.sort(reverse=True)
+        if revs.sortorder != ('-rev',):
+            repo.ui.status('Sorting!\n')
+            revs.sort(reverse=True)
     if expr:
         # Revset matchers often operate faster on revisions in changelog
         # order, because most filters deal with the changelog.


More information about the Mercurial-devel mailing list