--- a/tests/test-stablerange.t Fri Mar 24 09:49:03 2017 +0100
+++ b/tests/test-stablerange.t Fri Mar 24 10:12:02 2017 +0100
@@ -16,114 +16,107 @@
$ hg init repo_linear
$ cd repo_linear
$ hg debugbuilddag '.+6'
- $ hg debugobshashrange --subranges --rev 1
- rev node index size depth obshash
- 1 66f7d451a68b 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 1 > 1.range
+ $ hg debugstablerange --verbose --subranges --rev 1
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 1 > 1.range
bigger subset reuse most of the previous one
- $ hg debugobshashrange --subranges --rev 4
- rev node index size depth obshash
- 4 bebd167eb94d 0 5 5 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- $ hg debugobshashrange --subranges --rev 4 > 4.range
+ $ hg debugstablerange --verbose --subranges --rev 4
+ bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 4 > 4.range
$ diff -u 1.range 4.range
--- 1.range * (glob)
+++ 4.range * (glob)
- @@ -1,4 +1,10 @@
- rev node index size depth obshash
- + 4 bebd167eb94d 0 5 5 000000000000
- + 3 2dc09a01254d 0 4 4 000000000000
- + 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- + 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- + 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- + 4 bebd167eb94d 4 1 5 000000000000
+ @@ -1,3 +1,9 @@
+ +bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ +01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ +2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ +bebd167eb94d-4 (4, 5, 1) -
[1]
Using a range not ending on 2**N boundary
we fall back on 2**N as much as possible
- $ hg debugobshashrange --subranges --rev 5
- rev node index size depth obshash
- 5 c8d03c1b5e94 0 6 6 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 5 c8d03c1b5e94 4 2 6 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- 5 c8d03c1b5e94 5 1 6 000000000000
- $ hg debugobshashrange --subranges --rev 5 > 5.range
+ $ hg debugstablerange --verbose --subranges --rev 5
+ c8d03c1b5e94-0 (5, 6, 6) - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ c8d03c1b5e94-5 (5, 6, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 5 > 5.range
$ diff -u 4.range 5.range
--- 4.range * (glob)
+++ 5.range * (glob)
- @@ -1,10 +1,12 @@
- rev node index size depth obshash
- - 4 bebd167eb94d 0 5 5 000000000000
- + 5 c8d03c1b5e94 0 6 6 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- + 5 c8d03c1b5e94 4 2 6 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- + 5 c8d03c1b5e94 5 1 6 000000000000
+ @@ -1,9 +1,11 @@
+ -bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ +c8d03c1b5e94-0 (5, 6, 6) - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ +c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ +c8d03c1b5e94-5 (5, 6, 1) -
[1]
Even two unperfect range overlap a lot
- $ hg debugobshashrange --subranges --rev tip
- rev node index size depth obshash
- 6 f69452c5b1af 0 7 7 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 6 f69452c5b1af 4 3 7 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 5 c8d03c1b5e94 4 2 6 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- 5 c8d03c1b5e94 5 1 6 000000000000
- 6 f69452c5b1af 6 1 7 000000000000
- $ hg debugobshashrange --subranges --rev tip > tip.range
+ $ hg debugstablerange --verbose --subranges --rev tip
+ f69452c5b1af-0 (6, 7, 7) - 2dc09a01254d-0 (3, 4, 4), f69452c5b1af-4 (6, 7, 3)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ f69452c5b1af-4 (6, 7, 3) - c8d03c1b5e94-4 (5, 6, 2), f69452c5b1af-6 (6, 7, 1)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ c8d03c1b5e94-5 (5, 6, 1) -
+ f69452c5b1af-6 (6, 7, 1) -
+ $ hg debugstablerange --verbose --subranges --rev tip > tip.range
$ diff -u 5.range tip.range
--- 5.range * (glob)
+++ tip.range * (glob)
- @@ -1,6 +1,7 @@
- rev node index size depth obshash
- - 5 c8d03c1b5e94 0 6 6 000000000000
- + 6 f69452c5b1af 0 7 7 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- + 6 f69452c5b1af 4 3 7 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 5 c8d03c1b5e94 4 2 6 000000000000
- @@ -10,3 +11,4 @@
- 1 66f7d451a68b 1 1 2 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- 5 c8d03c1b5e94 5 1 6 000000000000
- + 6 f69452c5b1af 6 1 7 000000000000
+ @@ -1,5 +1,6 @@
+ -c8d03c1b5e94-0 (5, 6, 6) - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2)
+ +f69452c5b1af-0 (6, 7, 7) - 2dc09a01254d-0 (3, 4, 4), f69452c5b1af-4 (6, 7, 3)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +f69452c5b1af-4 (6, 7, 3) - c8d03c1b5e94-4 (5, 6, 2), f69452c5b1af-6 (6, 7, 1)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
+ @@ -9,3 +10,4 @@
+ 66f7d451a68b-1 (1, 2, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ c8d03c1b5e94-5 (5, 6, 1) -
+ +f69452c5b1af-6 (6, 7, 1) -
[1]
$ cd ..
@@ -168,132 +161,123 @@
(left branch)
- $ hg debugobshashrange --subranges --rev 'left~2'
- rev node index size depth obshash
- 1 66f7d451a68b 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'left~2' > left-2.range
- $ hg debugobshashrange --subranges --rev left
- rev node index size depth obshash
- 3 2dc09a01254d 0 4 4 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'left' > left.range
+ $ hg debugstablerange --verbose --subranges --rev 'left~2'
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'left~2' > left-2.range
+ $ hg debugstablerange --verbose --subranges --rev left
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'left' > left.range
$ diff -u left-2.range left.range
--- left-2.range * (glob)
+++ left.range * (glob)
- @@ -1,4 +1,8 @@
- rev node index size depth obshash
- + 3 2dc09a01254d 0 4 4 000000000000
- + 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- + 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- + 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
+ @@ -1,3 +1,7 @@
+ +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ +01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ +2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
[1]
(right branch)
- $ hg debugobshashrange --subranges --rev right~2
- rev node index size depth obshash
- 4 e7bd5218ca15 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 4 e7bd5218ca15 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'right~2' > right-2.range
- $ hg debugobshashrange --subranges --rev right
- rev node index size depth obshash
- 6 a2f58e9c1e56 0 4 4 000000000000
- 6 a2f58e9c1e56 2 2 4 000000000000
- 4 e7bd5218ca15 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 5 3a367db1fabc 2 1 3 000000000000
- 6 a2f58e9c1e56 3 1 4 000000000000
- 4 e7bd5218ca15 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'right' > right.range
+ $ hg debugstablerange --verbose --subranges --rev right~2
+ e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ e7bd5218ca15-1 (4, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'right~2' > right-2.range
+ $ hg debugstablerange --verbose --subranges --rev right
+ a2f58e9c1e56-0 (6, 4, 4) - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2)
+ a2f58e9c1e56-2 (6, 4, 2) - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1)
+ e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 3a367db1fabc-2 (5, 3, 1) -
+ a2f58e9c1e56-3 (6, 4, 1) -
+ e7bd5218ca15-1 (4, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'right' > right.range
$ diff -u right-2.range right.range
--- right-2.range * (glob)
+++ right.range * (glob)
- @@ -1,4 +1,8 @@
- rev node index size depth obshash
- + 6 a2f58e9c1e56 0 4 4 000000000000
- + 6 a2f58e9c1e56 2 2 4 000000000000
- 4 e7bd5218ca15 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- + 5 3a367db1fabc 2 1 3 000000000000
- + 6 a2f58e9c1e56 3 1 4 000000000000
- 4 e7bd5218ca15 1 1 2 000000000000
+ @@ -1,3 +1,7 @@
+ +a2f58e9c1e56-0 (6, 4, 4) - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2)
+ +a2f58e9c1e56-2 (6, 4, 2) - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1)
+ e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ +3a367db1fabc-2 (5, 3, 1) -
+ +a2f58e9c1e56-3 (6, 4, 1) -
+ e7bd5218ca15-1 (4, 2, 1) -
[1]
The merge reuse as much of the slicing created for one of the branch
- $ hg debugobshashrange --subranges --rev merge
- rev node index size depth obshash
- 7 5f18015f9110 0 8 8 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 7 5f18015f9110 4 4 8 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 5 3a367db1fabc 1 2 3 000000000000
- 7 5f18015f9110 6 2 8 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 5 3a367db1fabc 2 1 3 000000000000
- 7 5f18015f9110 7 1 8 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 6 a2f58e9c1e56 3 1 4 000000000000
- 4 e7bd5218ca15 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'merge' > merge.range
+ $ hg debugstablerange --verbose --subranges --rev merge
+ 5f18015f9110-0 (7, 8, 8) - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 5f18015f9110-4 (7, 8, 4) - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 3a367db1fabc-1 (5, 3, 2) - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1)
+ 5f18015f9110-6 (7, 8, 2) - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 3a367db1fabc-2 (5, 3, 1) -
+ 5f18015f9110-7 (7, 8, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ a2f58e9c1e56-3 (6, 4, 1) -
+ e7bd5218ca15-1 (4, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'merge' > merge.range
$ diff -u left.range merge.range
--- left.range * (glob)
+++ merge.range * (glob)
- @@ -1,8 +1,16 @@
- rev node index size depth obshash
- + 7 5f18015f9110 0 8 8 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- + 7 5f18015f9110 4 4 8 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- + 5 3a367db1fabc 1 2 3 000000000000
- + 7 5f18015f9110 6 2 8 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- + 5 3a367db1fabc 2 1 3 000000000000
- + 7 5f18015f9110 7 1 8 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- + 6 a2f58e9c1e56 3 1 4 000000000000
- + 4 e7bd5218ca15 1 1 2 000000000000
+ @@ -1,7 +1,15 @@
+ +5f18015f9110-0 (7, 8, 8) - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +5f18015f9110-4 (7, 8, 4) - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ +3a367db1fabc-1 (5, 3, 2) - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1)
+ +5f18015f9110-6 (7, 8, 2) - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ +3a367db1fabc-2 (5, 3, 1) -
+ +5f18015f9110-7 (7, 8, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ +a2f58e9c1e56-3 (6, 4, 1) -
+ +e7bd5218ca15-1 (4, 2, 1) -
[1]
$ diff -u right.range merge.range
--- right.range * (glob)
+++ merge.range * (glob)
- @@ -1,8 +1,16 @@
- rev node index size depth obshash
- - 6 a2f58e9c1e56 0 4 4 000000000000
- - 6 a2f58e9c1e56 2 2 4 000000000000
- - 4 e7bd5218ca15 0 2 2 000000000000
- + 7 5f18015f9110 0 8 8 000000000000
- + 3 2dc09a01254d 0 4 4 000000000000
- + 7 5f18015f9110 4 4 8 000000000000
- + 3 2dc09a01254d 2 2 4 000000000000
- + 5 3a367db1fabc 1 2 3 000000000000
- + 7 5f18015f9110 6 2 8 000000000000
- + 1 66f7d451a68b 0 2 2 000000000000
- + 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- + 3 2dc09a01254d 3 1 4 000000000000
- 5 3a367db1fabc 2 1 3 000000000000
- + 7 5f18015f9110 7 1 8 000000000000
- + 1 66f7d451a68b 1 1 2 000000000000
- 6 a2f58e9c1e56 3 1 4 000000000000
- 4 e7bd5218ca15 1 1 2 000000000000
+ @@ -1,7 +1,15 @@
+ -a2f58e9c1e56-0 (6, 4, 4) - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2)
+ -a2f58e9c1e56-2 (6, 4, 2) - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1)
+ -e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
+ +5f18015f9110-0 (7, 8, 8) - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4)
+ +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +5f18015f9110-4 (7, 8, 4) - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2)
+ +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ +3a367db1fabc-1 (5, 3, 2) - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1)
+ +5f18015f9110-6 (7, 8, 2) - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1)
+ +66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ +01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ +2dc09a01254d-3 (3, 4, 1) -
+ 3a367db1fabc-2 (5, 3, 1) -
+ +5f18015f9110-7 (7, 8, 1) -
+ +66f7d451a68b-1 (1, 2, 1) -
+ a2f58e9c1e56-3 (6, 4, 1) -
+ e7bd5218ca15-1 (4, 2, 1) -
[1]
$ cd ..
@@ -348,85 +332,79 @@
(left branch)
- $ hg debugobshashrange --subranges --rev 'left~2'
- rev node index size depth obshash
- 2 01241442b3c2 0 3 3 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'left~2' > left-2.range
- $ hg debugobshashrange --subranges --rev left
- rev node index size depth obshash
- 4 bebd167eb94d 0 5 5 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- $ hg debugobshashrange --subranges --rev 'left' > left.range
+ $ hg debugstablerange --verbose --subranges --rev 'left~2'
+ 01241442b3c2-0 (2, 3, 3) - 66f7d451a68b-0 (1, 2, 2), 01241442b3c2-2 (2, 3, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'left~2' > left-2.range
+ $ hg debugstablerange --verbose --subranges --rev left
+ bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'left' > left.range
$ diff -u left-2.range left.range
--- left-2.range * (glob)
+++ left.range * (glob)
- @@ -1,6 +1,10 @@
- rev node index size depth obshash
- - 2 01241442b3c2 0 3 3 000000000000
- + 4 bebd167eb94d 0 5 5 000000000000
- + 3 2dc09a01254d 0 4 4 000000000000
- + 3 2dc09a01254d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- + 3 2dc09a01254d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- + 4 bebd167eb94d 4 1 5 000000000000
+ @@ -1,5 +1,9 @@
+ -01241442b3c2-0 (2, 3, 3) - 66f7d451a68b-0 (1, 2, 2), 01241442b3c2-2 (2, 3, 1)
+ +bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ +2dc09a01254d-3 (3, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ +bebd167eb94d-4 (4, 5, 1) -
[1]
(right branch)
- $ hg debugobshashrange --subranges --rev right~2
- rev node index size depth obshash
- 7 42b07e8da27d 0 4 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- 5 de561312eff4 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- 5 de561312eff4 1 1 2 000000000000
- $ hg debugobshashrange --subranges --rev 'right~2' > right-2.range
- $ hg debugobshashrange --subranges --rev right
- rev node index size depth obshash
- 9 f4b7da68b467 0 6 6 000000000000
- 7 42b07e8da27d 0 4 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- 5 de561312eff4 0 2 2 000000000000
- 9 f4b7da68b467 4 2 6 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- 8 857477a9aebb 4 1 5 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- 5 de561312eff4 1 1 2 000000000000
- 9 f4b7da68b467 5 1 6 000000000000
- $ hg debugobshashrange --subranges --rev 'right' > right.range
+ $ hg debugstablerange --verbose --subranges --rev right~2
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'right~2' > right-2.range
+ $ hg debugstablerange --verbose --subranges --rev right
+ f4b7da68b467-0 (9, 6, 6) - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2)
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ 857477a9aebb-4 (8, 5, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ f4b7da68b467-5 (9, 6, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'right' > right.range
$ diff -u right-2.range right.range
--- right-2.range * (glob)
+++ right.range * (glob)
- @@ -1,8 +1,12 @@
- rev node index size depth obshash
- + 9 f4b7da68b467 0 6 6 000000000000
- 7 42b07e8da27d 0 4 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- 5 de561312eff4 0 2 2 000000000000
- + 9 f4b7da68b467 4 2 6 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- + 8 857477a9aebb 4 1 5 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- 5 de561312eff4 1 1 2 000000000000
- + 9 f4b7da68b467 5 1 6 000000000000
+ @@ -1,7 +1,11 @@
+ +f4b7da68b467-0 (9, 6, 6) - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2)
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ +f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ +857477a9aebb-4 (8, 5, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ +f4b7da68b467-5 (9, 6, 1) -
[1]
In this case, the bottom of the split will have multiple heads,
@@ -435,148 +413,143 @@
We are still able to reuse one of the branch however
- $ hg debugobshashrange --subranges --rev merge
- rev node index size depth obshash
- 10 8aca7f8c9bd2 0 11 11 000000000000
- 4 bebd167eb94d 0 5 5 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 7 42b07e8da27d 0 4 4 000000000000
- 10 8aca7f8c9bd2 8 3 11 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 5 de561312eff4 0 2 2 000000000000
- 9 f4b7da68b467 4 2 6 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 8 857477a9aebb 4 1 5 000000000000
- 10 8aca7f8c9bd2 10 1 11 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- 5 de561312eff4 1 1 2 000000000000
- 9 f4b7da68b467 5 1 6 000000000000
- $ hg debugobshashrange --subranges --rev 'merge' > merge.range
+ $ hg debugstablerange --verbose --subranges --rev merge
+ 8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
+ bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ 8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ 857477a9aebb-4 (8, 5, 1) -
+ 8aca7f8c9bd2-10 (10, 11, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ f4b7da68b467-5 (9, 6, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'merge' > merge.range
$ diff -u left.range merge.range
--- left.range * (glob)
+++ merge.range * (glob)
- @@ -1,10 +1,22 @@
- rev node index size depth obshash
- + 10 8aca7f8c9bd2 0 11 11 000000000000
- 4 bebd167eb94d 0 5 5 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- + 7 42b07e8da27d 0 4 4 000000000000
- + 10 8aca7f8c9bd2 8 3 11 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- + 7 42b07e8da27d 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- + 5 de561312eff4 0 2 2 000000000000
- + 9 f4b7da68b467 4 2 6 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- + 7 42b07e8da27d 3 1 4 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- + 8 857477a9aebb 4 1 5 000000000000
- + 10 8aca7f8c9bd2 10 1 11 000000000000
- + 6 b9bc20507e0b 2 1 3 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- + 5 de561312eff4 1 1 2 000000000000
- + 9 f4b7da68b467 5 1 6 000000000000
+ @@ -1,9 +1,21 @@
+ +8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
+ bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ +42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ +8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ +42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ +de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ +f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ +42b07e8da27d-3 (7, 4, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ +857477a9aebb-4 (8, 5, 1) -
+ +8aca7f8c9bd2-10 (10, 11, 1) -
+ +b9bc20507e0b-2 (6, 3, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ +de561312eff4-1 (5, 2, 1) -
+ +f4b7da68b467-5 (9, 6, 1) -
[1]
$ diff -u right.range merge.range
--- right.range * (glob)
+++ merge.range * (glob)
- @@ -1,12 +1,22 @@
- rev node index size depth obshash
- - 9 f4b7da68b467 0 6 6 000000000000
- + 10 8aca7f8c9bd2 0 11 11 000000000000
- + 4 bebd167eb94d 0 5 5 000000000000
- + 3 2dc09a01254d 0 4 4 000000000000
- 7 42b07e8da27d 0 4 4 000000000000
- + 10 8aca7f8c9bd2 8 3 11 000000000000
- + 3 2dc09a01254d 2 2 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- + 1 66f7d451a68b 0 2 2 000000000000
- 5 de561312eff4 0 2 2 000000000000
- 9 f4b7da68b467 4 2 6 000000000000
- + 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- + 3 2dc09a01254d 3 1 4 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- + 1 66f7d451a68b 1 1 2 000000000000
- 8 857477a9aebb 4 1 5 000000000000
- + 10 8aca7f8c9bd2 10 1 11 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- + 4 bebd167eb94d 4 1 5 000000000000
- 5 de561312eff4 1 1 2 000000000000
- 9 f4b7da68b467 5 1 6 000000000000
+ @@ -1,11 +1,21 @@
+ -f4b7da68b467-0 (9, 6, 6) - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2)
+ +8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
+ +bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ +8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
+ +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ +66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ +01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ +2dc09a01254d-3 (3, 4, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ +66f7d451a68b-1 (1, 2, 1) -
+ 857477a9aebb-4 (8, 5, 1) -
+ +8aca7f8c9bd2-10 (10, 11, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ +bebd167eb94d-4 (4, 5, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ f4b7da68b467-5 (9, 6, 1) -
[1]
Range above the merge, reuse subrange from the merge
- $ hg debugobshashrange --subranges --rev tip
- rev node index size depth obshash
- 12 e6b8d5b46647 0 13 13 000000000000
- 4 bebd167eb94d 0 5 5 000000000000
- 12 e6b8d5b46647 8 5 13 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 7 42b07e8da27d 0 4 4 000000000000
- 11 485383494a89 8 4 12 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- 11 485383494a89 10 2 12 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 5 de561312eff4 0 2 2 000000000000
- 9 f4b7da68b467 4 2 6 000000000000
- 2 01241442b3c2 2 1 3 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- 11 485383494a89 11 1 12 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 8 857477a9aebb 4 1 5 000000000000
- 10 8aca7f8c9bd2 10 1 11 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- 5 de561312eff4 1 1 2 000000000000
- 12 e6b8d5b46647 12 1 13 000000000000
- 9 f4b7da68b467 5 1 6 000000000000
- $ hg debugobshashrange --subranges --rev 'tip' > tip.range
+ $ hg debugstablerange --verbose --subranges --rev tip
+ e6b8d5b46647-0 (12, 13, 13) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), e6b8d5b46647-8 (12, 13, 5)
+ bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ e6b8d5b46647-8 (12, 13, 5) - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ 485383494a89-8 (11, 12, 4) - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ 485383494a89-10 (11, 12, 2) - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ 01241442b3c2-2 (2, 3, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ 485383494a89-11 (11, 12, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ 857477a9aebb-4 (8, 5, 1) -
+ 8aca7f8c9bd2-10 (10, 11, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ e6b8d5b46647-12 (12, 13, 1) -
+ f4b7da68b467-5 (9, 6, 1) -
+ $ hg debugstablerange --verbose --subranges --rev 'tip' > tip.range
$ diff -u merge.range tip.range
--- merge.range * (glob)
+++ tip.range * (glob)
- @@ -1,11 +1,13 @@
- rev node index size depth obshash
- - 10 8aca7f8c9bd2 0 11 11 000000000000
- + 12 e6b8d5b46647 0 13 13 000000000000
- 4 bebd167eb94d 0 5 5 000000000000
- + 12 e6b8d5b46647 8 5 13 000000000000
- 3 2dc09a01254d 0 4 4 000000000000
- 7 42b07e8da27d 0 4 4 000000000000
- - 10 8aca7f8c9bd2 8 3 11 000000000000
- + 11 485383494a89 8 4 12 000000000000
- 3 2dc09a01254d 2 2 4 000000000000
- 7 42b07e8da27d 2 2 4 000000000000
- + 11 485383494a89 10 2 12 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 5 de561312eff4 0 2 2 000000000000
- 9 f4b7da68b467 4 2 6 000000000000
- @@ -13,10 +15,12 @@
- 0 1ea73414a91b 0 1 1 000000000000
- 3 2dc09a01254d 3 1 4 000000000000
- 7 42b07e8da27d 3 1 4 000000000000
- + 11 485383494a89 11 1 12 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 8 857477a9aebb 4 1 5 000000000000
- 10 8aca7f8c9bd2 10 1 11 000000000000
- 6 b9bc20507e0b 2 1 3 000000000000
- 4 bebd167eb94d 4 1 5 000000000000
- 5 de561312eff4 1 1 2 000000000000
- + 12 e6b8d5b46647 12 1 13 000000000000
- 9 f4b7da68b467 5 1 6 000000000000
+ @@ -1,10 +1,12 @@
+ -8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
+ +e6b8d5b46647-0 (12, 13, 13) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), e6b8d5b46647-8 (12, 13, 5)
+ bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
+ +e6b8d5b46647-8 (12, 13, 5) - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1)
+ 2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
+ 42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
+ -8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
+ +485383494a89-8 (11, 12, 4) - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2)
+ 2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
+ 42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
+ +485383494a89-10 (11, 12, 2) - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
+ f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
+ @@ -12,10 +14,12 @@
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2dc09a01254d-3 (3, 4, 1) -
+ 42b07e8da27d-3 (7, 4, 1) -
+ +485383494a89-11 (11, 12, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ 857477a9aebb-4 (8, 5, 1) -
+ 8aca7f8c9bd2-10 (10, 11, 1) -
+ b9bc20507e0b-2 (6, 3, 1) -
+ bebd167eb94d-4 (4, 5, 1) -
+ de561312eff4-1 (5, 2, 1) -
+ +e6b8d5b46647-12 (12, 13, 1) -
+ f4b7da68b467-5 (9, 6, 1) -
[1]
$ cd ..
@@ -632,43 +605,42 @@
|/
o 0 1ea73414a91b r0
- $ hg debugobshashrange --subranges --rev 'head()'
- rev node index size depth obshash
- 15 1d8d22637c2d 0 8 8 000000000000
- 9 dcbb326fdec2 0 7 7 000000000000
- 10 ff43616e5d0f 0 7 7 000000000000
- 13 b4594d867745 0 6 6 000000000000
- 12 e46a4836065c 0 6 6 000000000000
- 6 2702dd0c91e7 0 5 5 000000000000
- 15 1d8d22637c2d 4 4 8 000000000000
- 3 2b6d669947cd 0 4 4 000000000000
- 5 f0f3ef9a6cd5 0 4 4 000000000000
- 9 dcbb326fdec2 4 3 7 000000000000
- 10 ff43616e5d0f 4 3 7 000000000000
- 15 1d8d22637c2d 6 2 8 000000000000
- 3 2b6d669947cd 2 2 4 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 13 b4594d867745 4 2 6 000000000000
- 8 d62d843c9a01 4 2 6 000000000000
- 12 e46a4836065c 4 2 6 000000000000
- 5 f0f3ef9a6cd5 2 2 4 000000000000
- 2 fa942426a6fd 0 2 2 000000000000
- 15 1d8d22637c2d 7 1 8 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 6 2702dd0c91e7 4 1 5 000000000000
- 3 2b6d669947cd 3 1 4 000000000000
- 14 43227190fef8 4 1 5 000000000000
- 4 4c748ffd1a46 2 1 3 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 13 b4594d867745 5 1 6 000000000000
- 11 bab5d5bf48bd 4 1 5 000000000000
- 8 d62d843c9a01 5 1 6 000000000000
- 9 dcbb326fdec2 6 1 7 000000000000
- 12 e46a4836065c 5 1 6 000000000000
- 7 e7d9710d9fc6 4 1 5 000000000000
- 5 f0f3ef9a6cd5 3 1 4 000000000000
- 2 fa942426a6fd 1 1 2 000000000000
- 10 ff43616e5d0f 6 1 7 000000000000
+ $ hg debugstablerange --verbose --subranges --rev 'head()'
+ 1d8d22637c2d-0 (15, 8, 8) - 2b6d669947cd-0 (3, 4, 4), 1d8d22637c2d-4 (15, 8, 4)
+ dcbb326fdec2-0 (9, 7, 7) - 2b6d669947cd-0 (3, 4, 4), dcbb326fdec2-4 (9, 7, 3)
+ ff43616e5d0f-0 (10, 7, 7) - 2b6d669947cd-0 (3, 4, 4), ff43616e5d0f-4 (10, 7, 3)
+ b4594d867745-0 (13, 6, 6) - 2b6d669947cd-0 (3, 4, 4), b4594d867745-4 (13, 6, 2)
+ e46a4836065c-0 (12, 6, 6) - 2b6d669947cd-0 (3, 4, 4), e46a4836065c-4 (12, 6, 2)
+ 2702dd0c91e7-0 (6, 5, 5) - f0f3ef9a6cd5-0 (5, 4, 4), 2702dd0c91e7-4 (6, 5, 1)
+ 1d8d22637c2d-4 (15, 8, 4) - 4c748ffd1a46-2 (4, 3, 1), 43227190fef8-4 (14, 5, 1), 1d8d22637c2d-6 (15, 8, 2)
+ 2b6d669947cd-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2b6d669947cd-2 (3, 4, 2)
+ f0f3ef9a6cd5-0 (5, 4, 4) - fa942426a6fd-0 (2, 2, 2), f0f3ef9a6cd5-2 (5, 4, 2)
+ dcbb326fdec2-4 (9, 7, 3) - d62d843c9a01-4 (8, 6, 2), dcbb326fdec2-6 (9, 7, 1)
+ ff43616e5d0f-4 (10, 7, 3) - d62d843c9a01-4 (8, 6, 2), ff43616e5d0f-6 (10, 7, 1)
+ 1d8d22637c2d-6 (15, 8, 2) - f0f3ef9a6cd5-3 (5, 4, 1), 1d8d22637c2d-7 (15, 8, 1)
+ 2b6d669947cd-2 (3, 4, 2) - fa942426a6fd-1 (2, 2, 1), 2b6d669947cd-3 (3, 4, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ b4594d867745-4 (13, 6, 2) - bab5d5bf48bd-4 (11, 5, 1), b4594d867745-5 (13, 6, 1)
+ d62d843c9a01-4 (8, 6, 2) - e7d9710d9fc6-4 (7, 5, 1), d62d843c9a01-5 (8, 6, 1)
+ e46a4836065c-4 (12, 6, 2) - bab5d5bf48bd-4 (11, 5, 1), e46a4836065c-5 (12, 6, 1)
+ f0f3ef9a6cd5-2 (5, 4, 2) - 4c748ffd1a46-2 (4, 3, 1), f0f3ef9a6cd5-3 (5, 4, 1)
+ fa942426a6fd-0 (2, 2, 2) - 1ea73414a91b-0 (0, 1, 1), fa942426a6fd-1 (2, 2, 1)
+ 1d8d22637c2d-7 (15, 8, 1) -
+ 1ea73414a91b-0 (0, 1, 1) -
+ 2702dd0c91e7-4 (6, 5, 1) -
+ 2b6d669947cd-3 (3, 4, 1) -
+ 43227190fef8-4 (14, 5, 1) -
+ 4c748ffd1a46-2 (4, 3, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ b4594d867745-5 (13, 6, 1) -
+ bab5d5bf48bd-4 (11, 5, 1) -
+ d62d843c9a01-5 (8, 6, 1) -
+ dcbb326fdec2-6 (9, 7, 1) -
+ e46a4836065c-5 (12, 6, 1) -
+ e7d9710d9fc6-4 (7, 5, 1) -
+ f0f3ef9a6cd5-3 (5, 4, 1) -
+ fa942426a6fd-1 (2, 2, 1) -
+ ff43616e5d0f-6 (10, 7, 1) -
$ cd ..
Tests range where a toprange is rooted on a merge
@@ -692,15 +664,14 @@
|/
o 0 1ea73414a91b r0
- $ hg debugobshashrange --subranges --rev 'head()'
- rev node index size depth obshash
- 4 f37e476fba9a 0 5 5 000000000000
- 3 36315563e2fa 0 3 3 000000000000
- 1 66f7d451a68b 0 2 2 000000000000
- 2 fa942426a6fd 0 2 2 000000000000
- 0 1ea73414a91b 0 1 1 000000000000
- 3 36315563e2fa 2 1 3 000000000000
- 1 66f7d451a68b 1 1 2 000000000000
- 4 f37e476fba9a 4 1 5 000000000000
- 2 fa942426a6fd 1 1 2 000000000000
+ $ hg debugstablerange --verbose --subranges --rev 'head()'
+ f37e476fba9a-0 (4, 5, 5) - 66f7d451a68b-0 (1, 2, 2), 36315563e2fa-0 (3, 3, 3), f37e476fba9a-4 (4, 5, 1)
+ 36315563e2fa-0 (3, 3, 3) - fa942426a6fd-0 (2, 2, 2), 36315563e2fa-2 (3, 3, 1)
+ 66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
+ fa942426a6fd-0 (2, 2, 2) - 1ea73414a91b-0 (0, 1, 1), fa942426a6fd-1 (2, 2, 1)
+ 1ea73414a91b-0 (0, 1, 1) -
+ 36315563e2fa-2 (3, 3, 1) -
+ 66f7d451a68b-1 (1, 2, 1) -
+ f37e476fba9a-4 (4, 5, 1) -
+ fa942426a6fd-1 (2, 2, 1) -