Mercurial > evolve
changeset 3322:20b6dae466a7
stablesort: use 'depth' in mergepoint tie breaker
The parents with the most depth will is considered lower. It has a couple of
advantages.
1) the more shallow parent probably have less exclusive revision,
2) it makes Oedipus merge behave like close to the linear case,
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 20 Dec 2017 16:20:26 +0100 |
parents | 14024940f369 |
children | 4a84947010a1 |
files | hgext3rd/evolve/stablesort.py tests/test-stablerange.t tests/test-stablesort-criss-cross.t tests/test-stablesort.t |
diffstat | 4 files changed, 272 insertions(+), 266 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/stablesort.py Wed Dec 20 13:41:33 2017 +0100 +++ b/hgext3rd/evolve/stablesort.py Wed Dec 20 16:20:26 2017 +0100 @@ -41,7 +41,12 @@ * number of jump points. * <insert-your-idea> """ - return repo.changelog.node + node = repo.changelog.node + depth = repo.depthcache.get + + def key(rev): + return (-depth(rev), node(rev)) + return key @eh.command( 'debugstablesort',
--- a/tests/test-stablerange.t Wed Dec 20 13:41:33 2017 +0100 +++ b/tests/test-stablerange.t Wed Dec 20 16:20:26 2017 +0100 @@ -449,14 +449,14 @@ We are still able to reuse one of the branch however $ hg debugstablerange --verify --verbose --subranges --rev merge - 8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) - bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) - 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) - 42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) - 8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) - 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) + 8aca7f8c9bd2-0 (10, 11, 11) [complete] - f4b7da68b467-0 (9, 6, 6), 01241442b3c2-1 (2, 3, 2), 8aca7f8c9bd2-8 (10, 11, 3) + f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) + 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) + 8aca7f8c9bd2-8 (10, 11, 3) [complete] - bebd167eb94d-3 (4, 5, 2), 8aca7f8c9bd2-10 (10, 11, 1) + 01241442b3c2-1 (2, 3, 2) [complete] - 66f7d451a68b-1 (1, 2, 1), 01241442b3c2-2 (2, 3, 1) 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) - 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) + bebd167eb94d-3 (4, 5, 2) [complete] - 2dc09a01254d-3 (3, 4, 1), bebd167eb94d-4 (4, 5, 1) + de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) 01241442b3c2-2 (2, 3, 1) [leaf] - 1ea73414a91b-0 (0, 1, 1) [leaf] - @@ -474,14 +474,18 @@ --- left.range * (glob) +++ merge.range * (glob) @@ -1,9 +1,20 @@ - +8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) - bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) - 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) - +42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) - +8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) - 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) + -bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) + -2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) + -2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) + -66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) + +8aca7f8c9bd2-0 (10, 11, 11) [complete] - f4b7da68b467-0 (9, 6, 6), 01241442b3c2-1 (2, 3, 2), 8aca7f8c9bd2-8 (10, 11, 3) + +f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) + +42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) + +8aca7f8c9bd2-8 (10, 11, 3) [complete] - bebd167eb94d-3 (4, 5, 2), 8aca7f8c9bd2-10 (10, 11, 1) + +01241442b3c2-1 (2, 3, 2) [complete] - 66f7d451a68b-1 (1, 2, 1), 01241442b3c2-2 (2, 3, 1) +42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) - 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) + +bebd167eb94d-3 (4, 5, 2) [complete] - 2dc09a01254d-3 (3, 4, 1), bebd167eb94d-4 (4, 5, 1) + +de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) +f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) 01241442b3c2-2 (2, 3, 1) [leaf] - 1ea73414a91b-0 (0, 1, 1) [leaf] - @@ -499,17 +503,14 @@ --- right.range * (glob) +++ merge.range * (glob) @@ -1,11 +1,20 @@ - -f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) - -42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) - +8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) - +bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) - +2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) - +42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) - +8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) - +2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) + +8aca7f8c9bd2-0 (10, 11, 11) [complete] - f4b7da68b467-0 (9, 6, 6), 01241442b3c2-1 (2, 3, 2), 8aca7f8c9bd2-8 (10, 11, 3) + f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) + 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) + +8aca7f8c9bd2-8 (10, 11, 3) [complete] - bebd167eb94d-3 (4, 5, 2), 8aca7f8c9bd2-10 (10, 11, 1) + +01241442b3c2-1 (2, 3, 2) [complete] - 66f7d451a68b-1 (1, 2, 1), 01241442b3c2-2 (2, 3, 1) 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) - -de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) - +66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) + +bebd167eb94d-3 (4, 5, 2) [complete] - 2dc09a01254d-3 (3, 4, 1), bebd167eb94d-4 (4, 5, 1) + de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) +01241442b3c2-2 (2, 3, 1) [leaf] - 1ea73414a91b-0 (0, 1, 1) [leaf] - @@ -527,16 +528,16 @@ Range above the merge, reuse subrange from the merge $ hg debugstablerange --verify --verbose --subranges --rev tip - e6b8d5b46647-0 (12, 13, 13) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), e6b8d5b46647-8 (12, 13, 5) - bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) + e6b8d5b46647-0 (12, 13, 13) [complete] - f4b7da68b467-0 (9, 6, 6), 01241442b3c2-1 (2, 3, 2), e6b8d5b46647-8 (12, 13, 5) + f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) e6b8d5b46647-8 (12, 13, 5) [complete] - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1) - 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) - 485383494a89-8 (11, 12, 4) [complete] - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2) - 42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) - 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) + 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) + 485383494a89-8 (11, 12, 4) [complete] - bebd167eb94d-3 (4, 5, 2), 485383494a89-10 (11, 12, 2) + 01241442b3c2-1 (2, 3, 2) [complete] - 66f7d451a68b-1 (1, 2, 1), 01241442b3c2-2 (2, 3, 1) 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) 485383494a89-10 (11, 12, 2) [complete] - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1) - 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) + bebd167eb94d-3 (4, 5, 2) [complete] - 2dc09a01254d-3 (3, 4, 1), bebd167eb94d-4 (4, 5, 1) + de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) 01241442b3c2-2 (2, 3, 1) [leaf] - 1ea73414a91b-0 (0, 1, 1) [leaf] - @@ -555,21 +556,21 @@ $ diff -u merge.range tip.range --- merge.range * (glob) +++ tip.range * (glob) - @@ -1,20 +1,24 @@ - -8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) - +e6b8d5b46647-0 (12, 13, 13) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), e6b8d5b46647-8 (12, 13, 5) - bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) + @@ -1,9 +1,11 @@ + -8aca7f8c9bd2-0 (10, 11, 11) [complete] - f4b7da68b467-0 (9, 6, 6), 01241442b3c2-1 (2, 3, 2), 8aca7f8c9bd2-8 (10, 11, 3) + +e6b8d5b46647-0 (12, 13, 13) [complete] - f4b7da68b467-0 (9, 6, 6), 01241442b3c2-1 (2, 3, 2), e6b8d5b46647-8 (12, 13, 5) + f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) +e6b8d5b46647-8 (12, 13, 5) [complete] - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1) - 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) - +485383494a89-8 (11, 12, 4) [complete] - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2) - 42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) - -8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) - 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) + 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) + -8aca7f8c9bd2-8 (10, 11, 3) [complete] - bebd167eb94d-3 (4, 5, 2), 8aca7f8c9bd2-10 (10, 11, 1) + +485383494a89-8 (11, 12, 4) [complete] - bebd167eb94d-3 (4, 5, 2), 485383494a89-10 (11, 12, 2) + 01241442b3c2-1 (2, 3, 2) [complete] - 66f7d451a68b-1 (1, 2, 1), 01241442b3c2-2 (2, 3, 1) 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) +485383494a89-10 (11, 12, 2) [complete] - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1) - 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) + bebd167eb94d-3 (4, 5, 2) [complete] - 2dc09a01254d-3 (3, 4, 1), bebd167eb94d-4 (4, 5, 1) + de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) - 01241442b3c2-2 (2, 3, 1) [leaf] - + @@ -11,10 +13,12 @@ 1ea73414a91b-0 (0, 1, 1) [leaf] - 2dc09a01254d-3 (3, 4, 1) [leaf] - 42b07e8da27d-3 (7, 4, 1) [leaf] -
--- a/tests/test-stablesort-criss-cross.t Wed Dec 20 13:41:33 2017 +0100 +++ b/tests/test-stablesort-criss-cross.t Wed Dec 20 16:20:26 2017 +0100 @@ -397,11 +397,11 @@ 1ea73414a91b 66f7d451a68b 01241442b3c2 - 0c1445abb33d - 65eb34ffc3a8 2dc09a01254d bebd167eb94d c8d03c1b5e94 + 0c1445abb33d + 65eb34ffc3a8 07c648efceeb c81423bf5a24 5ba9a53052ed @@ -409,11 +409,11 @@ === checking 1ea73414a91b === === checking 66f7d451a68b === === checking 01241442b3c2 === - === checking 0c1445abb33d === - === checking 65eb34ffc3a8 === === checking 2dc09a01254d === === checking bebd167eb94d === === checking c8d03c1b5e94 === + === checking 0c1445abb33d === + === checking 65eb34ffc3a8 === === checking 07c648efceeb === === checking c81423bf5a24 === === checking 5ba9a53052ed === @@ -421,41 +421,41 @@ 1ea73414a91b 66f7d451a68b 01241442b3c2 - 0c1445abb33d - 65eb34ffc3a8 2dc09a01254d bebd167eb94d c8d03c1b5e94 + 0c1445abb33d + 65eb34ffc3a8 c81423bf5a24 $ checktopo AmergeA === checking 1ea73414a91b === === checking 66f7d451a68b === === checking 01241442b3c2 === - === checking 0c1445abb33d === - === checking 65eb34ffc3a8 === === checking 2dc09a01254d === === checking bebd167eb94d === === checking c8d03c1b5e94 === + === checking 0c1445abb33d === + === checking 65eb34ffc3a8 === === checking c81423bf5a24 === $ hg showsort --rev 'AmergeB' 1ea73414a91b 66f7d451a68b 01241442b3c2 - 0c1445abb33d - 65eb34ffc3a8 2dc09a01254d bebd167eb94d c8d03c1b5e94 + 0c1445abb33d + 65eb34ffc3a8 07c648efceeb $ checktopo AmergeB === checking 1ea73414a91b === === checking 66f7d451a68b === === checking 01241442b3c2 === - === checking 0c1445abb33d === - === checking 65eb34ffc3a8 === === checking 2dc09a01254d === === checking bebd167eb94d === === checking c8d03c1b5e94 === + === checking 0c1445abb33d === + === checking 65eb34ffc3a8 === === checking 07c648efceeb === close criss cross @@ -463,11 +463,11 @@ 1ea73414a91b 66f7d451a68b 01241442b3c2 - 0c1445abb33d - 65eb34ffc3a8 2dc09a01254d bebd167eb94d c8d03c1b5e94 + 0c1445abb33d + 65eb34ffc3a8 07c648efceeb c81423bf5a24 5ba9a53052ed @@ -481,11 +481,11 @@ === checking 1ea73414a91b === === checking 66f7d451a68b === === checking 01241442b3c2 === - === checking 0c1445abb33d === - === checking 65eb34ffc3a8 === === checking 2dc09a01254d === === checking bebd167eb94d === === checking c8d03c1b5e94 === + === checking 0c1445abb33d === + === checking 65eb34ffc3a8 === === checking 07c648efceeb === === checking c81423bf5a24 === === checking 5ba9a53052ed === @@ -502,11 +502,11 @@ 1ea73414a91b 66f7d451a68b 01241442b3c2 - 0c1445abb33d - 65eb34ffc3a8 2dc09a01254d bebd167eb94d c8d03c1b5e94 + 0c1445abb33d + 65eb34ffc3a8 07c648efceeb c81423bf5a24 5ba9a53052ed @@ -516,14 +516,25 @@ 39bab1cb1cbe 55bf3fdb634f 3e1560705803 + 17b6e6bac221 + 5ce588c2b7c5 + f2bdd828a3aa + a457569c5306 + ad46a4a0fc10 + b115c694654e + 673f5499c8c2 + 900dd066a072 + 97ac964e34b7 + 0d153e3ad632 + c37e7cd9f2bd + 9a67238ad1c4 9729470d9329 884936b34999 - b115c694654e - 8ecb28746ec4 de05b9c29ec7 - d917f77a6439 - c3c7fa726f88 - 97d19fc5236f + d99e0f7dad5b + e4cfd6264623 + fac9e582edd1 + 89a0fe204177 4f5078f7da8a 2bd677d0f13a 3bdb00d5c818 @@ -533,26 +544,15 @@ 2ea3fbf151b5 47c836a1f13e 722d1b8b8942 - 17b6e6bac221 - 5ce588c2b7c5 - f2bdd828a3aa - a457569c5306 - ad46a4a0fc10 4b39f229a0ce d94da36be176 eed373b0090d + b3cf98c3d587 + 8ecb28746ec4 + d917f77a6439 + c3c7fa726f88 + 97d19fc5236f 2472d042ec95 - 673f5499c8c2 - 900dd066a072 - 97ac964e34b7 - 0d153e3ad632 - c37e7cd9f2bd - 9a67238ad1c4 - d99e0f7dad5b - e4cfd6264623 - fac9e582edd1 - 89a0fe204177 - b3cf98c3d587 041e1188f5f1 0484d39906c8 5eec91b12a58 @@ -565,17 +565,22 @@ d6c9e2d27f14 37ad3ab0cddf c7d3029bf731 - 1f4a19f83a29 - 43fc0b77ff07 - 31d7b43cc321 - c713eae2d31f 76151e8066e1 c7c1497fc270 e7135b665740 + c713eae2d31f 82238c0bc950 + 43fc0b77ff07 + 1f4a19f83a29 + 31d7b43cc321 dbde319d43a3 8b79544bb56d 721ba7c5f4ff + 0bab31f71a21 + 40553f55397e + e3e6738c56ce + 790cdfecd168 + 469c700e9ed8 01e29e20ea3f 32b41ca704e1 88714f4125cb @@ -586,11 +591,6 @@ b33fd5ad4c0c cd345198cf12 28be96b80dc1 - 0bab31f71a21 - 40553f55397e - e3e6738c56ce - 790cdfecd168 - 469c700e9ed8 8ae32c3ed670 84d6ec6a8e21 01f771406cab @@ -598,11 +598,11 @@ === checking 1ea73414a91b === === checking 66f7d451a68b === === checking 01241442b3c2 === - === checking 0c1445abb33d === - === checking 65eb34ffc3a8 === === checking 2dc09a01254d === === checking bebd167eb94d === === checking c8d03c1b5e94 === + === checking 0c1445abb33d === + === checking 65eb34ffc3a8 === === checking 07c648efceeb === === checking c81423bf5a24 === === checking 5ba9a53052ed === @@ -612,14 +612,25 @@ === checking 39bab1cb1cbe === === checking 55bf3fdb634f === === checking 3e1560705803 === + === checking 17b6e6bac221 === + === checking 5ce588c2b7c5 === + === checking f2bdd828a3aa === + === checking a457569c5306 === + === checking ad46a4a0fc10 === + === checking b115c694654e === + === checking 673f5499c8c2 === + === checking 900dd066a072 === + === checking 97ac964e34b7 === + === checking 0d153e3ad632 === + === checking c37e7cd9f2bd === + === checking 9a67238ad1c4 === === checking 9729470d9329 === === checking 884936b34999 === - === checking b115c694654e === - === checking 8ecb28746ec4 === === checking de05b9c29ec7 === - === checking d917f77a6439 === - === checking c3c7fa726f88 === - === checking 97d19fc5236f === + === checking d99e0f7dad5b === + === checking e4cfd6264623 === + === checking fac9e582edd1 === + === checking 89a0fe204177 === === checking 4f5078f7da8a === === checking 2bd677d0f13a === === checking 3bdb00d5c818 === @@ -629,26 +640,15 @@ === checking 2ea3fbf151b5 === === checking 47c836a1f13e === === checking 722d1b8b8942 === - === checking 17b6e6bac221 === - === checking 5ce588c2b7c5 === - === checking f2bdd828a3aa === - === checking a457569c5306 === - === checking ad46a4a0fc10 === === checking 4b39f229a0ce === === checking d94da36be176 === === checking eed373b0090d === + === checking b3cf98c3d587 === + === checking 8ecb28746ec4 === + === checking d917f77a6439 === + === checking c3c7fa726f88 === + === checking 97d19fc5236f === === checking 2472d042ec95 === - === checking 673f5499c8c2 === - === checking 900dd066a072 === - === checking 97ac964e34b7 === - === checking 0d153e3ad632 === - === checking c37e7cd9f2bd === - === checking 9a67238ad1c4 === - === checking d99e0f7dad5b === - === checking e4cfd6264623 === - === checking fac9e582edd1 === - === checking 89a0fe204177 === - === checking b3cf98c3d587 === === checking 041e1188f5f1 === === checking 0484d39906c8 === === checking 5eec91b12a58 === @@ -661,17 +661,22 @@ === checking d6c9e2d27f14 === === checking 37ad3ab0cddf === === checking c7d3029bf731 === - === checking 1f4a19f83a29 === - === checking 43fc0b77ff07 === - === checking 31d7b43cc321 === - === checking c713eae2d31f === === checking 76151e8066e1 === === checking c7c1497fc270 === === checking e7135b665740 === + === checking c713eae2d31f === === checking 82238c0bc950 === + === checking 43fc0b77ff07 === + === checking 1f4a19f83a29 === + === checking 31d7b43cc321 === === checking dbde319d43a3 === === checking 8b79544bb56d === === checking 721ba7c5f4ff === + === checking 0bab31f71a21 === + === checking 40553f55397e === + === checking e3e6738c56ce === + === checking 790cdfecd168 === + === checking 469c700e9ed8 === === checking 01e29e20ea3f === === checking 32b41ca704e1 === === checking 88714f4125cb === @@ -682,17 +687,23 @@ === checking b33fd5ad4c0c === === checking cd345198cf12 === === checking 28be96b80dc1 === - === checking 0bab31f71a21 === - === checking 40553f55397e === - === checking e3e6738c56ce === - === checking 790cdfecd168 === - === checking 469c700e9ed8 === === checking 8ae32c3ed670 === === checking 84d6ec6a8e21 === === checking 01f771406cab === $ hg showsort --rev 'Cfinal' --limit 72 - c3c7fa726f88 - 97d19fc5236f + 673f5499c8c2 + 900dd066a072 + 97ac964e34b7 + 0d153e3ad632 + c37e7cd9f2bd + 9a67238ad1c4 + 9729470d9329 + 884936b34999 + de05b9c29ec7 + d99e0f7dad5b + e4cfd6264623 + fac9e582edd1 + 89a0fe204177 4f5078f7da8a 2bd677d0f13a 3bdb00d5c818 @@ -702,26 +713,15 @@ 2ea3fbf151b5 47c836a1f13e 722d1b8b8942 - 17b6e6bac221 - 5ce588c2b7c5 - f2bdd828a3aa - a457569c5306 - ad46a4a0fc10 4b39f229a0ce d94da36be176 eed373b0090d + b3cf98c3d587 + 8ecb28746ec4 + d917f77a6439 + c3c7fa726f88 + 97d19fc5236f 2472d042ec95 - 673f5499c8c2 - 900dd066a072 - 97ac964e34b7 - 0d153e3ad632 - c37e7cd9f2bd - 9a67238ad1c4 - d99e0f7dad5b - e4cfd6264623 - fac9e582edd1 - 89a0fe204177 - b3cf98c3d587 041e1188f5f1 0484d39906c8 5eec91b12a58 @@ -734,17 +734,22 @@ d6c9e2d27f14 37ad3ab0cddf c7d3029bf731 - 1f4a19f83a29 - 43fc0b77ff07 - 31d7b43cc321 - c713eae2d31f 76151e8066e1 c7c1497fc270 e7135b665740 + c713eae2d31f 82238c0bc950 + 43fc0b77ff07 + 1f4a19f83a29 + 31d7b43cc321 dbde319d43a3 8b79544bb56d 721ba7c5f4ff + 0bab31f71a21 + 40553f55397e + e3e6738c56ce + 790cdfecd168 + 469c700e9ed8 01e29e20ea3f 32b41ca704e1 88714f4125cb @@ -755,11 +760,6 @@ b33fd5ad4c0c cd345198cf12 28be96b80dc1 - 0bab31f71a21 - 40553f55397e - e3e6738c56ce - 790cdfecd168 - 469c700e9ed8 8ae32c3ed670 84d6ec6a8e21 01f771406cab @@ -768,17 +768,22 @@ d6c9e2d27f14 37ad3ab0cddf c7d3029bf731 - 1f4a19f83a29 - 43fc0b77ff07 - 31d7b43cc321 - c713eae2d31f 76151e8066e1 c7c1497fc270 e7135b665740 + c713eae2d31f 82238c0bc950 + 43fc0b77ff07 + 1f4a19f83a29 + 31d7b43cc321 dbde319d43a3 8b79544bb56d 721ba7c5f4ff + 0bab31f71a21 + 40553f55397e + e3e6738c56ce + 790cdfecd168 + 469c700e9ed8 01e29e20ea3f 32b41ca704e1 88714f4125cb @@ -789,16 +794,11 @@ b33fd5ad4c0c cd345198cf12 28be96b80dc1 - 0bab31f71a21 - 40553f55397e - e3e6738c56ce - 790cdfecd168 - 469c700e9ed8 8ae32c3ed670 84d6ec6a8e21 01f771406cab $ hg showsort --rev 'Cfinal' --limit 4 - 469c700e9ed8 + 28be96b80dc1 8ae32c3ed670 84d6ec6a8e21 01f771406cab @@ -828,18 +828,18 @@ $ hg showsort --rev 'all()' > ../crisscross.random.order $ python "$RUNTESTDIR/md5sum.py" ../crisscross.*.order - 56271e05099a227fc7c0d6a434c24f0e ../crisscross.random.order - 56271e05099a227fc7c0d6a434c24f0e ../crisscross.source.order + 0ace2b2a63ec70b3b63b661aaee69878 ../crisscross.random.order + 0ace2b2a63ec70b3b63b661aaee69878 ../crisscross.source.order $ diff -u ../crisscross.*.order $ hg showsort --rev 'all()' 1ea73414a91b 66f7d451a68b 01241442b3c2 - 0c1445abb33d - 65eb34ffc3a8 2dc09a01254d bebd167eb94d c8d03c1b5e94 + 0c1445abb33d + 65eb34ffc3a8 07c648efceeb c81423bf5a24 5ba9a53052ed @@ -849,14 +849,25 @@ 39bab1cb1cbe 55bf3fdb634f 3e1560705803 + 17b6e6bac221 + 5ce588c2b7c5 + f2bdd828a3aa + a457569c5306 + ad46a4a0fc10 + b115c694654e + 673f5499c8c2 + 900dd066a072 + 97ac964e34b7 + 0d153e3ad632 + c37e7cd9f2bd + 9a67238ad1c4 9729470d9329 884936b34999 - b115c694654e - 8ecb28746ec4 de05b9c29ec7 - d917f77a6439 - c3c7fa726f88 - 97d19fc5236f + d99e0f7dad5b + e4cfd6264623 + fac9e582edd1 + 89a0fe204177 4f5078f7da8a 2bd677d0f13a 3bdb00d5c818 @@ -866,26 +877,15 @@ 2ea3fbf151b5 47c836a1f13e 722d1b8b8942 - 17b6e6bac221 - 5ce588c2b7c5 - f2bdd828a3aa - a457569c5306 - ad46a4a0fc10 4b39f229a0ce d94da36be176 eed373b0090d + b3cf98c3d587 + 8ecb28746ec4 + d917f77a6439 + c3c7fa726f88 + 97d19fc5236f 2472d042ec95 - 673f5499c8c2 - 900dd066a072 - 97ac964e34b7 - 0d153e3ad632 - c37e7cd9f2bd - 9a67238ad1c4 - d99e0f7dad5b - e4cfd6264623 - fac9e582edd1 - 89a0fe204177 - b3cf98c3d587 041e1188f5f1 0484d39906c8 5eec91b12a58 @@ -898,17 +898,22 @@ d6c9e2d27f14 37ad3ab0cddf c7d3029bf731 - 1f4a19f83a29 - 43fc0b77ff07 - 31d7b43cc321 - c713eae2d31f 76151e8066e1 c7c1497fc270 e7135b665740 + c713eae2d31f 82238c0bc950 + 43fc0b77ff07 + 1f4a19f83a29 + 31d7b43cc321 dbde319d43a3 8b79544bb56d 721ba7c5f4ff + 0bab31f71a21 + 40553f55397e + e3e6738c56ce + 790cdfecd168 + 469c700e9ed8 01e29e20ea3f 32b41ca704e1 88714f4125cb @@ -919,11 +924,6 @@ b33fd5ad4c0c cd345198cf12 28be96b80dc1 - 0bab31f71a21 - 40553f55397e - e3e6738c56ce - 790cdfecd168 - 469c700e9ed8 8ae32c3ed670 84d6ec6a8e21 01f771406cab
--- a/tests/test-stablesort.t Wed Dec 20 13:41:33 2017 +0100 +++ b/tests/test-stablesort.t Wed Dec 20 16:20:26 2017 +0100 @@ -117,14 +117,14 @@ 4c748ffd1a46 f0f3ef9a6cd5 1d8d22637c2d - 2702dd0c91e7 - bab5d5bf48bd - b4594d867745 e7d9710d9fc6 d62d843c9a01 dcbb326fdec2 + ff43616e5d0f + bab5d5bf48bd + b4594d867745 e46a4836065c - ff43616e5d0f + 2702dd0c91e7 $ hg showsorthead --rev 1d8d22637c2d 1ea73414a91b 66f7d451a68b @@ -214,14 +214,14 @@ === checking 4c748ffd1a46 === === checking f0f3ef9a6cd5 === === checking 1d8d22637c2d === - === checking 2702dd0c91e7 === - === checking bab5d5bf48bd === - === checking b4594d867745 === === checking e7d9710d9fc6 === === checking d62d843c9a01 === === checking dcbb326fdec2 === + === checking ff43616e5d0f === + === checking bab5d5bf48bd === + === checking b4594d867745 === === checking e46a4836065c === - === checking ff43616e5d0f === + === checking 2702dd0c91e7 === Check stability =============== @@ -482,10 +482,10 @@ D $ python "$RUNTESTDIR/md5sum.py" *.all.order - 4f54f623da142833149055fb83022a7e A.all.order - 4f54f623da142833149055fb83022a7e B.all.order - 4f54f623da142833149055fb83022a7e C.all.order - 4f54f623da142833149055fb83022a7e D.all.order + 25e89e555b56ed9e7b51827d58073b77 A.all.order + 25e89e555b56ed9e7b51827d58073b77 B.all.order + 25e89e555b56ed9e7b51827d58073b77 C.all.order + 25e89e555b56ed9e7b51827d58073b77 D.all.order one specific head @@ -716,17 +716,17 @@ 66f7d451a68b 01241442b3c2 2dc09a01254d - abf57d94268b - 529dfc5bb875 e7bd5218ca15 - 6ee532b68cfa - 001194dd78d5 3a367db1fabc a2f58e9c1e56 5f18015f9110 9fff0871d230 4dbf739dd63f d64d500024d1 + abf57d94268b + 529dfc5bb875 + 6ee532b68cfa + 001194dd78d5 0496f0a6a143 1c645e73dbc6 160a7a0adbf4 @@ -738,25 +738,25 @@ 66f7d451a68b 01241442b3c2 2dc09a01254d - abf57d94268b - 529dfc5bb875 e7bd5218ca15 - 6ee532b68cfa - 001194dd78d5 3a367db1fabc a2f58e9c1e56 5f18015f9110 9fff0871d230 4dbf739dd63f d64d500024d1 + abf57d94268b + 529dfc5bb875 + 6ee532b68cfa + 001194dd78d5 0496f0a6a143 1c645e73dbc6 160a7a0adbf4 $ hg showsorthead --rev '160a7a0adbf4' --limit 7 - 5f18015f9110 - 9fff0871d230 - 4dbf739dd63f - d64d500024d1 + abf57d94268b + 529dfc5bb875 + 6ee532b68cfa + 001194dd78d5 0496f0a6a143 1c645e73dbc6 160a7a0adbf4 @@ -789,17 +789,17 @@ === checking 66f7d451a68b === === checking 01241442b3c2 === === checking 2dc09a01254d === - === checking abf57d94268b === - === checking 529dfc5bb875 === === checking e7bd5218ca15 === - === checking 6ee532b68cfa === - === checking 001194dd78d5 === === checking 3a367db1fabc === === checking a2f58e9c1e56 === === checking 5f18015f9110 === === checking 9fff0871d230 === === checking 4dbf739dd63f === === checking d64d500024d1 === + === checking abf57d94268b === + === checking 529dfc5bb875 === + === checking 6ee532b68cfa === + === checking 001194dd78d5 === === checking 0496f0a6a143 === === checking 1c645e73dbc6 === === checking 160a7a0adbf4 === @@ -831,11 +831,11 @@ $ hg showsorthead --rev '160a7a0adbf4' > ../160a7a0adbf4.random.orderhead $ hg showsorthead --rev '4bbfc6078919' > ../4bbfc6078919.random.orderhead $ python "$RUNTESTDIR/md5sum.py" ../multiple.*.order - a6547220a9f004c975e365d9561639dd ../multiple.random.order - a6547220a9f004c975e365d9561639dd ../multiple.source.order + 19b28a58af0311b99159f60944a57213 ../multiple.random.order + 19b28a58af0311b99159f60944a57213 ../multiple.source.order $ python "$RUNTESTDIR/md5sum.py" ../160a7a0adbf4.*.orderhead - 48d8911f53869b32e29da26c56e95119 ../160a7a0adbf4.random.orderhead - 48d8911f53869b32e29da26c56e95119 ../160a7a0adbf4.source.orderhead + 905b0bab9155f65ed2e220382b94e9b9 ../160a7a0adbf4.random.orderhead + 905b0bab9155f65ed2e220382b94e9b9 ../160a7a0adbf4.source.orderhead $ python "$RUNTESTDIR/md5sum.py" ../4bbfc6078919.*.orderhead 3732305a333d59ec50b91db0f5ab696e ../4bbfc6078919.random.orderhead 3732305a333d59ec50b91db0f5ab696e ../4bbfc6078919.source.orderhead @@ -844,17 +844,17 @@ 66f7d451a68b 01241442b3c2 2dc09a01254d - abf57d94268b - 529dfc5bb875 e7bd5218ca15 - 6ee532b68cfa - 001194dd78d5 3a367db1fabc a2f58e9c1e56 5f18015f9110 9fff0871d230 4dbf739dd63f d64d500024d1 + abf57d94268b + 529dfc5bb875 + 6ee532b68cfa + 001194dd78d5 0496f0a6a143 1c645e73dbc6 160a7a0adbf4 @@ -866,17 +866,17 @@ 66f7d451a68b 01241442b3c2 2dc09a01254d - abf57d94268b - 529dfc5bb875 e7bd5218ca15 - 6ee532b68cfa - 001194dd78d5 3a367db1fabc a2f58e9c1e56 5f18015f9110 9fff0871d230 4dbf739dd63f d64d500024d1 + abf57d94268b + 529dfc5bb875 + 6ee532b68cfa + 001194dd78d5 0496f0a6a143 1c645e73dbc6 160a7a0adbf4 @@ -1044,6 +1044,18 @@ 56526aefbff4 23 $ hg showsort --rev 'tip' 1ea73414a91b + 7cc044fdf4a7 + e5c0d969abc4 + ee222cc71ce6 + 448a7ac3ab1f + 5cb8e6902ff3 + 191bac7bf37c + 5188cf52b7b7 + 65e683dd6db4 + 4442c125b80d + 5648bbf0e38b + 6a97ef856f90 + d4422659bc40 66f7d451a68b 01241442b3c2 2dc09a01254d @@ -1053,6 +1065,9 @@ bebd167eb94d c8d03c1b5e94 9f6c364a3574 + 56526aefbff4 + $ hg showsorthead --rev 'tip' + 1ea73414a91b 7cc044fdf4a7 e5c0d969abc4 ee222cc71ce6 @@ -1065,9 +1080,6 @@ 5648bbf0e38b 6a97ef856f90 d4422659bc40 - 56526aefbff4 - $ hg showsorthead --rev 'tip' - 1ea73414a91b 66f7d451a68b 01241442b3c2 2dc09a01254d @@ -1077,42 +1089,30 @@ bebd167eb94d c8d03c1b5e94 9f6c364a3574 - 7cc044fdf4a7 - e5c0d969abc4 - ee222cc71ce6 - 448a7ac3ab1f - 5cb8e6902ff3 - 191bac7bf37c - 5188cf52b7b7 - 65e683dd6db4 - 4442c125b80d - 5648bbf0e38b - 6a97ef856f90 - d4422659bc40 56526aefbff4 $ hg showsorthead --rev 'tip' --limit 12 - e5c0d969abc4 - ee222cc71ce6 - 448a7ac3ab1f - 5cb8e6902ff3 - 191bac7bf37c - 5188cf52b7b7 - 65e683dd6db4 - 4442c125b80d - 5648bbf0e38b 6a97ef856f90 d4422659bc40 + 66f7d451a68b + 01241442b3c2 + 2dc09a01254d + c2c595bcd4c6 + e2317cea05f7 + 588f0bc87ecd + bebd167eb94d + c8d03c1b5e94 + 9f6c364a3574 56526aefbff4 $ hg showsorthead --rev 'tip' --limit 7 - 5188cf52b7b7 - 65e683dd6db4 - 4442c125b80d - 5648bbf0e38b - 6a97ef856f90 - d4422659bc40 + c2c595bcd4c6 + e2317cea05f7 + 588f0bc87ecd + bebd167eb94d + c8d03c1b5e94 + 9f6c364a3574 56526aefbff4 $ hg showsorthead --rev 'tip' --limit 3 - 6a97ef856f90 - d4422659bc40 + c8d03c1b5e94 + 9f6c364a3574 56526aefbff4 $ cd ..