changeset 23501:424d669118d3 stable

log: fix log revset instability The log/graphlog revset was not producing stable results since it was iterating over a dict. Now we sort before iterating to guarantee a fixed order. This fixes some potential flakiness in the tests.
author Durham Goode <durham@fb.com>
date Mon, 08 Dec 2014 15:41:54 -0800
parents 9601229ed361
children 32e68271a037 96d335e4eacb
files mercurial/cmdutil.py tests/test-glog.t
diffstat 2 files changed, 13 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Fri Dec 05 14:27:32 2014 -0800
+++ b/mercurial/cmdutil.py	Mon Dec 08 15:41:54 2014 -0800
@@ -1795,7 +1795,7 @@
                 filematcher = lambda rev: match
 
     expr = []
-    for op, val in opts.iteritems():
+    for op, val in sorted(opts.iteritems()):
         if not val:
             continue
         if op not in opt2revset:
--- a/tests/test-glog.t	Fri Dec 05 14:27:32 2014 -0800
+++ b/tests/test-glog.t	Mon Dec 08 15:41:54 2014 -0800
@@ -1660,15 +1660,15 @@
   (group
     (and
       (func
+        ('symbol', 'ancestors')
+        ('symbol', '.'))
+      (func
         ('symbol', '_matchfiles')
         (list
           (list
             ('string', 'r:')
             ('string', 'd:relpath'))
-          ('string', 'p:dir')))
-      (func
-        ('symbol', 'ancestors')
-        ('symbol', '.'))))
+          ('string', 'p:dir')))))
   $ hg up -q tip
 
 Test --follow on file not in parent revision
@@ -1685,15 +1685,15 @@
   (group
     (and
       (func
+        ('symbol', 'ancestors')
+        ('symbol', '.'))
+      (func
         ('symbol', '_matchfiles')
         (list
           (list
             ('string', 'r:')
             ('string', 'd:relpath'))
-          ('string', 'p:glob:*')))
-      (func
-        ('symbol', 'ancestors')
-        ('symbol', '.'))))
+          ('string', 'p:glob:*')))))
 
 Test --follow on a single rename
 
@@ -1862,15 +1862,15 @@
   (group
     (and
       (func
+        ('symbol', 'ancestors')
+        ('symbol', '.'))
+      (func
         ('symbol', '_matchfiles')
         (list
           (list
             ('string', 'r:')
             ('string', 'd:relpath'))
-          ('string', 'p:a')))
-      (func
-        ('symbol', 'ancestors')
-        ('symbol', '.'))))
+          ('string', 'p:a')))))
 
 Test --patch and --stat with --follow and --follow-first