# HG changeset patch # User Mads Kiilerich # Date 1358215153 -3600 # Node ID 4148414da12048cd97e1c73e926bb465bda7cfa2 # Parent 6252b4f1c4b45818bf54e507c2b5d7bddafe2113 obsolete: process markers in a stable order Using set iteration order gave unstable debugsuccessorssets output with PYTHONHASHSEED=random. diff -r 6252b4f1c4b4 -r 4148414da120 mercurial/obsolete.py --- a/mercurial/obsolete.py Wed Dec 12 02:38:14 2012 +0100 +++ b/mercurial/obsolete.py Tue Jan 15 02:59:13 2013 +0100 @@ -526,7 +526,7 @@ # Having none means pruned node, multiple successors means split, # single successors are standard replacement. # - for mark in succmarkers[current]: + for mark in sorted(succmarkers[current]): for suc in mark[1]: if suc not in cache: if suc in stackedset: @@ -563,7 +563,7 @@ # duplicated entry and successors set that are strict subset of # another one. succssets = [] - for mark in succmarkers[current]: + for mark in sorted(succmarkers[current]): # successors sets contributed by this marker markss = [[]] for suc in mark[1]: diff -r 6252b4f1c4b4 -r 4148414da120 tests/test-obsolete-divergent.t --- a/tests/test-obsolete-divergent.t Wed Dec 12 02:38:14 2012 +0100 +++ b/tests/test-obsolete-divergent.t Tue Jan 15 02:59:13 2013 +0100 @@ -76,8 +76,8 @@ d20a80d4def3 d20a80d4def3 007dc284c1f8 + 82623d38b9ba 392fd25390da - 82623d38b9ba 82623d38b9ba 82623d38b9ba 392fd25390da @@ -123,8 +123,8 @@ d20a80d4def3 d20a80d4def3 007dc284c1f8 + 82623d38b9ba 01f36c5a8fda - 82623d38b9ba 82623d38b9ba 82623d38b9ba 392fd25390da @@ -158,8 +158,8 @@ d20a80d4def3 d20a80d4def3 007dc284c1f8 + 82623d38b9ba 392fd25390da - 82623d38b9ba 82623d38b9ba 82623d38b9ba 392fd25390da