Mercurial > hg
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