tests/test-stablerange.t
changeset 2231 f872738bb5b3
parent 2230 a202f3af890c
child 2232 6b95bcc402fe
equal deleted inserted replaced
2230:a202f3af890c 2231:f872738bb5b3
    14 ==================
    14 ==================
    15 
    15 
    16   $ hg init repo_linear
    16   $ hg init repo_linear
    17   $ cd repo_linear
    17   $ cd repo_linear
    18   $ hg debugbuilddag '.+6'
    18   $ hg debugbuilddag '.+6'
    19   $ hg debugobshashrange --subranges --rev 1
    19   $ hg debugstablerange --verbose --subranges --rev 1
    20            rev         node        index         size        depth      obshash
    20   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
    21              1 66f7d451a68b            0            2            2 000000000000
    21   1ea73414a91b-0 (0, 1, 1) - 
    22              0 1ea73414a91b            0            1            1 000000000000
    22   66f7d451a68b-1 (1, 2, 1) - 
    23              1 66f7d451a68b            1            1            2 000000000000
    23   $ hg debugstablerange --verbose --subranges --rev 1 > 1.range
    24   $ hg debugobshashrange --subranges --rev 1 > 1.range
       
    25 
    24 
    26 bigger subset reuse most of the previous one
    25 bigger subset reuse most of the previous one
    27 
    26 
    28   $ hg debugobshashrange --subranges --rev 4
    27   $ hg debugstablerange --verbose --subranges --rev 4
    29            rev         node        index         size        depth      obshash
    28   bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
    30              4 bebd167eb94d            0            5            5 000000000000
    29   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
    31              3 2dc09a01254d            0            4            4 000000000000
    30   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
    32              3 2dc09a01254d            2            2            4 000000000000
    31   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
    33              1 66f7d451a68b            0            2            2 000000000000
    32   01241442b3c2-2 (2, 3, 1) - 
    34              2 01241442b3c2            2            1            3 000000000000
    33   1ea73414a91b-0 (0, 1, 1) - 
    35              0 1ea73414a91b            0            1            1 000000000000
    34   2dc09a01254d-3 (3, 4, 1) - 
    36              3 2dc09a01254d            3            1            4 000000000000
    35   66f7d451a68b-1 (1, 2, 1) - 
    37              1 66f7d451a68b            1            1            2 000000000000
    36   bebd167eb94d-4 (4, 5, 1) - 
    38              4 bebd167eb94d            4            1            5 000000000000
    37   $ hg debugstablerange --verbose --subranges --rev 4 > 4.range
    39   $ hg debugobshashrange --subranges --rev 4 > 4.range
       
    40   $ diff -u 1.range 4.range
    38   $ diff -u 1.range 4.range
    41   --- 1.range	* (glob)
    39   --- 1.range	* (glob)
    42   +++ 4.range	* (glob)
    40   +++ 4.range	* (glob)
    43   @@ -1,4 +1,10 @@
    41   @@ -1,3 +1,9 @@
    44             rev         node        index         size        depth      obshash
    42   +bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
    45   +           4 bebd167eb94d            0            5            5 000000000000
    43   +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
    46   +           3 2dc09a01254d            0            4            4 000000000000
    44   +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
    47   +           3 2dc09a01254d            2            2            4 000000000000
    45    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
    48               1 66f7d451a68b            0            2            2 000000000000
    46   +01241442b3c2-2 (2, 3, 1) - 
    49   +           2 01241442b3c2            2            1            3 000000000000
    47    1ea73414a91b-0 (0, 1, 1) - 
    50               0 1ea73414a91b            0            1            1 000000000000
    48   +2dc09a01254d-3 (3, 4, 1) - 
    51   +           3 2dc09a01254d            3            1            4 000000000000
    49    66f7d451a68b-1 (1, 2, 1) - 
    52               1 66f7d451a68b            1            1            2 000000000000
    50   +bebd167eb94d-4 (4, 5, 1) - 
    53   +           4 bebd167eb94d            4            1            5 000000000000
       
    54   [1]
    51   [1]
    55 
    52 
    56 Using a range not ending on 2**N boundary
    53 Using a range not ending on 2**N boundary
    57 we fall back on 2**N as much as possible
    54 we fall back on 2**N as much as possible
    58 
    55 
    59   $ hg debugobshashrange --subranges --rev 5
    56   $ hg debugstablerange --verbose --subranges --rev 5
    60            rev         node        index         size        depth      obshash
    57   c8d03c1b5e94-0 (5, 6, 6) - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2)
    61              5 c8d03c1b5e94            0            6            6 000000000000
    58   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
    62              3 2dc09a01254d            0            4            4 000000000000
    59   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
    63              3 2dc09a01254d            2            2            4 000000000000
    60   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
    64              1 66f7d451a68b            0            2            2 000000000000
    61   c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
    65              5 c8d03c1b5e94            4            2            6 000000000000
    62   01241442b3c2-2 (2, 3, 1) - 
    66              2 01241442b3c2            2            1            3 000000000000
    63   1ea73414a91b-0 (0, 1, 1) - 
    67              0 1ea73414a91b            0            1            1 000000000000
    64   2dc09a01254d-3 (3, 4, 1) - 
    68              3 2dc09a01254d            3            1            4 000000000000
    65   66f7d451a68b-1 (1, 2, 1) - 
    69              1 66f7d451a68b            1            1            2 000000000000
    66   bebd167eb94d-4 (4, 5, 1) - 
    70              4 bebd167eb94d            4            1            5 000000000000
    67   c8d03c1b5e94-5 (5, 6, 1) - 
    71              5 c8d03c1b5e94            5            1            6 000000000000
    68   $ hg debugstablerange --verbose --subranges --rev 5 > 5.range
    72   $ hg debugobshashrange --subranges --rev 5 > 5.range
       
    73   $ diff -u 4.range 5.range
    69   $ diff -u 4.range 5.range
    74   --- 4.range	* (glob)
    70   --- 4.range	* (glob)
    75   +++ 5.range	* (glob)
    71   +++ 5.range	* (glob)
    76   @@ -1,10 +1,12 @@
    72   @@ -1,9 +1,11 @@
    77             rev         node        index         size        depth      obshash
    73   -bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
    78   -           4 bebd167eb94d            0            5            5 000000000000
    74   +c8d03c1b5e94-0 (5, 6, 6) - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2)
    79   +           5 c8d03c1b5e94            0            6            6 000000000000
    75    2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
    80               3 2dc09a01254d            0            4            4 000000000000
    76    2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
    81               3 2dc09a01254d            2            2            4 000000000000
    77    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
    82               1 66f7d451a68b            0            2            2 000000000000
    78   +c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
    83   +           5 c8d03c1b5e94            4            2            6 000000000000
    79    01241442b3c2-2 (2, 3, 1) - 
    84               2 01241442b3c2            2            1            3 000000000000
    80    1ea73414a91b-0 (0, 1, 1) - 
    85               0 1ea73414a91b            0            1            1 000000000000
    81    2dc09a01254d-3 (3, 4, 1) - 
    86               3 2dc09a01254d            3            1            4 000000000000
    82    66f7d451a68b-1 (1, 2, 1) - 
    87               1 66f7d451a68b            1            1            2 000000000000
    83    bebd167eb94d-4 (4, 5, 1) - 
    88               4 bebd167eb94d            4            1            5 000000000000
    84   +c8d03c1b5e94-5 (5, 6, 1) - 
    89   +           5 c8d03c1b5e94            5            1            6 000000000000
       
    90   [1]
    85   [1]
    91 
    86 
    92 Even two unperfect range overlap a lot
    87 Even two unperfect range overlap a lot
    93 
    88 
    94   $ hg debugobshashrange --subranges --rev tip
    89   $ hg debugstablerange --verbose --subranges --rev tip
    95            rev         node        index         size        depth      obshash
    90   f69452c5b1af-0 (6, 7, 7) - 2dc09a01254d-0 (3, 4, 4), f69452c5b1af-4 (6, 7, 3)
    96              6 f69452c5b1af            0            7            7 000000000000
    91   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
    97              3 2dc09a01254d            0            4            4 000000000000
    92   f69452c5b1af-4 (6, 7, 3) - c8d03c1b5e94-4 (5, 6, 2), f69452c5b1af-6 (6, 7, 1)
    98              6 f69452c5b1af            4            3            7 000000000000
    93   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
    99              3 2dc09a01254d            2            2            4 000000000000
    94   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   100              1 66f7d451a68b            0            2            2 000000000000
    95   c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
   101              5 c8d03c1b5e94            4            2            6 000000000000
    96   01241442b3c2-2 (2, 3, 1) - 
   102              2 01241442b3c2            2            1            3 000000000000
    97   1ea73414a91b-0 (0, 1, 1) - 
   103              0 1ea73414a91b            0            1            1 000000000000
    98   2dc09a01254d-3 (3, 4, 1) - 
   104              3 2dc09a01254d            3            1            4 000000000000
    99   66f7d451a68b-1 (1, 2, 1) - 
   105              1 66f7d451a68b            1            1            2 000000000000
   100   bebd167eb94d-4 (4, 5, 1) - 
   106              4 bebd167eb94d            4            1            5 000000000000
   101   c8d03c1b5e94-5 (5, 6, 1) - 
   107              5 c8d03c1b5e94            5            1            6 000000000000
   102   f69452c5b1af-6 (6, 7, 1) - 
   108              6 f69452c5b1af            6            1            7 000000000000
   103   $ hg debugstablerange --verbose --subranges --rev tip > tip.range
   109   $ hg debugobshashrange --subranges --rev tip > tip.range
       
   110   $ diff -u 5.range tip.range
   104   $ diff -u 5.range tip.range
   111   --- 5.range	* (glob)
   105   --- 5.range	* (glob)
   112   +++ tip.range	* (glob)
   106   +++ tip.range	* (glob)
   113   @@ -1,6 +1,7 @@
   107   @@ -1,5 +1,6 @@
   114             rev         node        index         size        depth      obshash
   108   -c8d03c1b5e94-0 (5, 6, 6) - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2)
   115   -           5 c8d03c1b5e94            0            6            6 000000000000
   109   +f69452c5b1af-0 (6, 7, 7) - 2dc09a01254d-0 (3, 4, 4), f69452c5b1af-4 (6, 7, 3)
   116   +           6 f69452c5b1af            0            7            7 000000000000
   110    2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   117               3 2dc09a01254d            0            4            4 000000000000
   111   +f69452c5b1af-4 (6, 7, 3) - c8d03c1b5e94-4 (5, 6, 2), f69452c5b1af-6 (6, 7, 1)
   118   +           6 f69452c5b1af            4            3            7 000000000000
   112    2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   119               3 2dc09a01254d            2            2            4 000000000000
   113    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   120               1 66f7d451a68b            0            2            2 000000000000
   114    c8d03c1b5e94-4 (5, 6, 2) - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1)
   121               5 c8d03c1b5e94            4            2            6 000000000000
   115   @@ -9,3 +10,4 @@
   122   @@ -10,3 +11,4 @@
   116    66f7d451a68b-1 (1, 2, 1) - 
   123               1 66f7d451a68b            1            1            2 000000000000
   117    bebd167eb94d-4 (4, 5, 1) - 
   124               4 bebd167eb94d            4            1            5 000000000000
   118    c8d03c1b5e94-5 (5, 6, 1) - 
   125               5 c8d03c1b5e94            5            1            6 000000000000
   119   +f69452c5b1af-6 (6, 7, 1) - 
   126   +           6 f69452c5b1af            6            1            7 000000000000
       
   127   [1]
   120   [1]
   128 
   121 
   129   $ cd ..
   122   $ cd ..
   130 
   123 
   131 Case with merge
   124 Case with merge
   166 
   159 
   167 Each of the linear branch reuse range internally
   160 Each of the linear branch reuse range internally
   168 
   161 
   169 (left branch)
   162 (left branch)
   170 
   163 
   171   $ hg debugobshashrange --subranges --rev 'left~2'
   164   $ hg debugstablerange --verbose --subranges --rev 'left~2'
   172            rev         node        index         size        depth      obshash
   165   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   173              1 66f7d451a68b            0            2            2 000000000000
   166   1ea73414a91b-0 (0, 1, 1) - 
   174              0 1ea73414a91b            0            1            1 000000000000
   167   66f7d451a68b-1 (1, 2, 1) - 
   175              1 66f7d451a68b            1            1            2 000000000000
   168   $ hg debugstablerange --verbose --subranges --rev 'left~2' > left-2.range
   176   $ hg debugobshashrange --subranges --rev 'left~2' > left-2.range
   169   $ hg debugstablerange --verbose --subranges --rev left
   177   $ hg debugobshashrange --subranges --rev left
   170   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   178            rev         node        index         size        depth      obshash
   171   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   179              3 2dc09a01254d            0            4            4 000000000000
   172   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   180              3 2dc09a01254d            2            2            4 000000000000
   173   01241442b3c2-2 (2, 3, 1) - 
   181              1 66f7d451a68b            0            2            2 000000000000
   174   1ea73414a91b-0 (0, 1, 1) - 
   182              2 01241442b3c2            2            1            3 000000000000
   175   2dc09a01254d-3 (3, 4, 1) - 
   183              0 1ea73414a91b            0            1            1 000000000000
   176   66f7d451a68b-1 (1, 2, 1) - 
   184              3 2dc09a01254d            3            1            4 000000000000
   177   $ hg debugstablerange --verbose --subranges --rev 'left' > left.range
   185              1 66f7d451a68b            1            1            2 000000000000
       
   186   $ hg debugobshashrange --subranges --rev 'left' > left.range
       
   187   $ diff -u left-2.range left.range
   178   $ diff -u left-2.range left.range
   188   --- left-2.range	* (glob)
   179   --- left-2.range	* (glob)
   189   +++ left.range	* (glob)
   180   +++ left.range	* (glob)
   190   @@ -1,4 +1,8 @@
   181   @@ -1,3 +1,7 @@
   191             rev         node        index         size        depth      obshash
   182   +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   192   +           3 2dc09a01254d            0            4            4 000000000000
   183   +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   193   +           3 2dc09a01254d            2            2            4 000000000000
   184    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   194               1 66f7d451a68b            0            2            2 000000000000
   185   +01241442b3c2-2 (2, 3, 1) - 
   195   +           2 01241442b3c2            2            1            3 000000000000
   186    1ea73414a91b-0 (0, 1, 1) - 
   196               0 1ea73414a91b            0            1            1 000000000000
   187   +2dc09a01254d-3 (3, 4, 1) - 
   197   +           3 2dc09a01254d            3            1            4 000000000000
   188    66f7d451a68b-1 (1, 2, 1) - 
   198               1 66f7d451a68b            1            1            2 000000000000
       
   199   [1]
   189   [1]
   200 
   190 
   201 (right branch)
   191 (right branch)
   202 
   192 
   203   $ hg debugobshashrange --subranges --rev right~2
   193   $ hg debugstablerange --verbose --subranges --rev right~2
   204            rev         node        index         size        depth      obshash
   194   e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
   205              4 e7bd5218ca15            0            2            2 000000000000
   195   1ea73414a91b-0 (0, 1, 1) - 
   206              0 1ea73414a91b            0            1            1 000000000000
   196   e7bd5218ca15-1 (4, 2, 1) - 
   207              4 e7bd5218ca15            1            1            2 000000000000
   197   $ hg debugstablerange --verbose --subranges --rev 'right~2' > right-2.range
   208   $ hg debugobshashrange --subranges --rev 'right~2' > right-2.range
   198   $ hg debugstablerange --verbose --subranges --rev right
   209   $ hg debugobshashrange --subranges --rev right
   199   a2f58e9c1e56-0 (6, 4, 4) - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2)
   210            rev         node        index         size        depth      obshash
   200   a2f58e9c1e56-2 (6, 4, 2) - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1)
   211              6 a2f58e9c1e56            0            4            4 000000000000
   201   e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
   212              6 a2f58e9c1e56            2            2            4 000000000000
   202   1ea73414a91b-0 (0, 1, 1) - 
   213              4 e7bd5218ca15            0            2            2 000000000000
   203   3a367db1fabc-2 (5, 3, 1) - 
   214              0 1ea73414a91b            0            1            1 000000000000
   204   a2f58e9c1e56-3 (6, 4, 1) - 
   215              5 3a367db1fabc            2            1            3 000000000000
   205   e7bd5218ca15-1 (4, 2, 1) - 
   216              6 a2f58e9c1e56            3            1            4 000000000000
   206   $ hg debugstablerange --verbose --subranges --rev 'right' > right.range
   217              4 e7bd5218ca15            1            1            2 000000000000
       
   218   $ hg debugobshashrange --subranges --rev 'right' > right.range
       
   219   $ diff -u right-2.range right.range
   207   $ diff -u right-2.range right.range
   220   --- right-2.range	* (glob)
   208   --- right-2.range	* (glob)
   221   +++ right.range	* (glob)
   209   +++ right.range	* (glob)
   222   @@ -1,4 +1,8 @@
   210   @@ -1,3 +1,7 @@
   223             rev         node        index         size        depth      obshash
   211   +a2f58e9c1e56-0 (6, 4, 4) - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2)
   224   +           6 a2f58e9c1e56            0            4            4 000000000000
   212   +a2f58e9c1e56-2 (6, 4, 2) - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1)
   225   +           6 a2f58e9c1e56            2            2            4 000000000000
   213    e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
   226               4 e7bd5218ca15            0            2            2 000000000000
   214    1ea73414a91b-0 (0, 1, 1) - 
   227               0 1ea73414a91b            0            1            1 000000000000
   215   +3a367db1fabc-2 (5, 3, 1) - 
   228   +           5 3a367db1fabc            2            1            3 000000000000
   216   +a2f58e9c1e56-3 (6, 4, 1) - 
   229   +           6 a2f58e9c1e56            3            1            4 000000000000
   217    e7bd5218ca15-1 (4, 2, 1) - 
   230               4 e7bd5218ca15            1            1            2 000000000000
       
   231   [1]
   218   [1]
   232 
   219 
   233 The merge reuse as much of the slicing created for one of the branch
   220 The merge reuse as much of the slicing created for one of the branch
   234 
   221 
   235   $ hg debugobshashrange --subranges --rev merge
   222   $ hg debugstablerange --verbose --subranges --rev merge
   236            rev         node        index         size        depth      obshash
   223   5f18015f9110-0 (7, 8, 8) - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4)
   237              7 5f18015f9110            0            8            8 000000000000
   224   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   238              3 2dc09a01254d            0            4            4 000000000000
   225   5f18015f9110-4 (7, 8, 4) - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2)
   239              7 5f18015f9110            4            4            8 000000000000
   226   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   240              3 2dc09a01254d            2            2            4 000000000000
   227   3a367db1fabc-1 (5, 3, 2) - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1)
   241              5 3a367db1fabc            1            2            3 000000000000
   228   5f18015f9110-6 (7, 8, 2) - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1)
   242              7 5f18015f9110            6            2            8 000000000000
   229   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   243              1 66f7d451a68b            0            2            2 000000000000
   230   01241442b3c2-2 (2, 3, 1) - 
   244              2 01241442b3c2            2            1            3 000000000000
   231   1ea73414a91b-0 (0, 1, 1) - 
   245              0 1ea73414a91b            0            1            1 000000000000
   232   2dc09a01254d-3 (3, 4, 1) - 
   246              3 2dc09a01254d            3            1            4 000000000000
   233   3a367db1fabc-2 (5, 3, 1) - 
   247              5 3a367db1fabc            2            1            3 000000000000
   234   5f18015f9110-7 (7, 8, 1) - 
   248              7 5f18015f9110            7            1            8 000000000000
   235   66f7d451a68b-1 (1, 2, 1) - 
   249              1 66f7d451a68b            1            1            2 000000000000
   236   a2f58e9c1e56-3 (6, 4, 1) - 
   250              6 a2f58e9c1e56            3            1            4 000000000000
   237   e7bd5218ca15-1 (4, 2, 1) - 
   251              4 e7bd5218ca15            1            1            2 000000000000
   238   $ hg debugstablerange --verbose --subranges --rev 'merge' > merge.range
   252   $ hg debugobshashrange --subranges --rev 'merge' > merge.range
       
   253   $ diff -u left.range merge.range
   239   $ diff -u left.range merge.range
   254   --- left.range	* (glob)
   240   --- left.range	* (glob)
   255   +++ merge.range	* (glob)
   241   +++ merge.range	* (glob)
   256   @@ -1,8 +1,16 @@
   242   @@ -1,7 +1,15 @@
   257             rev         node        index         size        depth      obshash
   243   +5f18015f9110-0 (7, 8, 8) - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4)
   258   +           7 5f18015f9110            0            8            8 000000000000
   244    2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   259               3 2dc09a01254d            0            4            4 000000000000
   245   +5f18015f9110-4 (7, 8, 4) - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2)
   260   +           7 5f18015f9110            4            4            8 000000000000
   246    2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   261               3 2dc09a01254d            2            2            4 000000000000
   247   +3a367db1fabc-1 (5, 3, 2) - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1)
   262   +           5 3a367db1fabc            1            2            3 000000000000
   248   +5f18015f9110-6 (7, 8, 2) - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1)
   263   +           7 5f18015f9110            6            2            8 000000000000
   249    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   264               1 66f7d451a68b            0            2            2 000000000000
   250    01241442b3c2-2 (2, 3, 1) - 
   265               2 01241442b3c2            2            1            3 000000000000
   251    1ea73414a91b-0 (0, 1, 1) - 
   266               0 1ea73414a91b            0            1            1 000000000000
   252    2dc09a01254d-3 (3, 4, 1) - 
   267               3 2dc09a01254d            3            1            4 000000000000
   253   +3a367db1fabc-2 (5, 3, 1) - 
   268   +           5 3a367db1fabc            2            1            3 000000000000
   254   +5f18015f9110-7 (7, 8, 1) - 
   269   +           7 5f18015f9110            7            1            8 000000000000
   255    66f7d451a68b-1 (1, 2, 1) - 
   270               1 66f7d451a68b            1            1            2 000000000000
   256   +a2f58e9c1e56-3 (6, 4, 1) - 
   271   +           6 a2f58e9c1e56            3            1            4 000000000000
   257   +e7bd5218ca15-1 (4, 2, 1) - 
   272   +           4 e7bd5218ca15            1            1            2 000000000000
       
   273   [1]
   258   [1]
   274   $ diff -u right.range merge.range
   259   $ diff -u right.range merge.range
   275   --- right.range	* (glob)
   260   --- right.range	* (glob)
   276   +++ merge.range	* (glob)
   261   +++ merge.range	* (glob)
   277   @@ -1,8 +1,16 @@
   262   @@ -1,7 +1,15 @@
   278             rev         node        index         size        depth      obshash
   263   -a2f58e9c1e56-0 (6, 4, 4) - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2)
   279   -           6 a2f58e9c1e56            0            4            4 000000000000
   264   -a2f58e9c1e56-2 (6, 4, 2) - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1)
   280   -           6 a2f58e9c1e56            2            2            4 000000000000
   265   -e7bd5218ca15-0 (4, 2, 2) - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1)
   281   -           4 e7bd5218ca15            0            2            2 000000000000
   266   +5f18015f9110-0 (7, 8, 8) - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4)
   282   +           7 5f18015f9110            0            8            8 000000000000
   267   +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   283   +           3 2dc09a01254d            0            4            4 000000000000
   268   +5f18015f9110-4 (7, 8, 4) - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2)
   284   +           7 5f18015f9110            4            4            8 000000000000
   269   +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   285   +           3 2dc09a01254d            2            2            4 000000000000
   270   +3a367db1fabc-1 (5, 3, 2) - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1)
   286   +           5 3a367db1fabc            1            2            3 000000000000
   271   +5f18015f9110-6 (7, 8, 2) - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1)
   287   +           7 5f18015f9110            6            2            8 000000000000
   272   +66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   288   +           1 66f7d451a68b            0            2            2 000000000000
   273   +01241442b3c2-2 (2, 3, 1) - 
   289   +           2 01241442b3c2            2            1            3 000000000000
   274    1ea73414a91b-0 (0, 1, 1) - 
   290               0 1ea73414a91b            0            1            1 000000000000
   275   +2dc09a01254d-3 (3, 4, 1) - 
   291   +           3 2dc09a01254d            3            1            4 000000000000
   276    3a367db1fabc-2 (5, 3, 1) - 
   292               5 3a367db1fabc            2            1            3 000000000000
   277   +5f18015f9110-7 (7, 8, 1) - 
   293   +           7 5f18015f9110            7            1            8 000000000000
   278   +66f7d451a68b-1 (1, 2, 1) - 
   294   +           1 66f7d451a68b            1            1            2 000000000000
   279    a2f58e9c1e56-3 (6, 4, 1) - 
   295               6 a2f58e9c1e56            3            1            4 000000000000
   280    e7bd5218ca15-1 (4, 2, 1) - 
   296               4 e7bd5218ca15            1            1            2 000000000000
       
   297   [1]
   281   [1]
   298   $ cd ..
   282   $ cd ..
   299 
   283 
   300 slice create multiple heads
   284 slice create multiple heads
   301 ---------------------------
   285 ---------------------------
   346 
   330 
   347 Each of the linear branch reuse range internally
   331 Each of the linear branch reuse range internally
   348 
   332 
   349 (left branch)
   333 (left branch)
   350 
   334 
   351   $ hg debugobshashrange --subranges --rev 'left~2'
   335   $ hg debugstablerange --verbose --subranges --rev 'left~2'
   352            rev         node        index         size        depth      obshash
   336   01241442b3c2-0 (2, 3, 3) - 66f7d451a68b-0 (1, 2, 2), 01241442b3c2-2 (2, 3, 1)
   353              2 01241442b3c2            0            3            3 000000000000
   337   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   354              1 66f7d451a68b            0            2            2 000000000000
   338   01241442b3c2-2 (2, 3, 1) - 
   355              2 01241442b3c2            2            1            3 000000000000
   339   1ea73414a91b-0 (0, 1, 1) - 
   356              0 1ea73414a91b            0            1            1 000000000000
   340   66f7d451a68b-1 (1, 2, 1) - 
   357              1 66f7d451a68b            1            1            2 000000000000
   341   $ hg debugstablerange --verbose --subranges --rev 'left~2' > left-2.range
   358   $ hg debugobshashrange --subranges --rev 'left~2' > left-2.range
   342   $ hg debugstablerange --verbose --subranges --rev left
   359   $ hg debugobshashrange --subranges --rev left
   343   bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   360            rev         node        index         size        depth      obshash
   344   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   361              4 bebd167eb94d            0            5            5 000000000000
   345   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   362              3 2dc09a01254d            0            4            4 000000000000
   346   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   363              3 2dc09a01254d            2            2            4 000000000000
   347   01241442b3c2-2 (2, 3, 1) - 
   364              1 66f7d451a68b            0            2            2 000000000000
   348   1ea73414a91b-0 (0, 1, 1) - 
   365              2 01241442b3c2            2            1            3 000000000000
   349   2dc09a01254d-3 (3, 4, 1) - 
   366              0 1ea73414a91b            0            1            1 000000000000
   350   66f7d451a68b-1 (1, 2, 1) - 
   367              3 2dc09a01254d            3            1            4 000000000000
   351   bebd167eb94d-4 (4, 5, 1) - 
   368              1 66f7d451a68b            1            1            2 000000000000
   352   $ hg debugstablerange --verbose --subranges --rev 'left' > left.range
   369              4 bebd167eb94d            4            1            5 000000000000
       
   370   $ hg debugobshashrange --subranges --rev 'left' > left.range
       
   371   $ diff -u left-2.range left.range
   353   $ diff -u left-2.range left.range
   372   --- left-2.range	* (glob)
   354   --- left-2.range	* (glob)
   373   +++ left.range	* (glob)
   355   +++ left.range	* (glob)
   374   @@ -1,6 +1,10 @@
   356   @@ -1,5 +1,9 @@
   375             rev         node        index         size        depth      obshash
   357   -01241442b3c2-0 (2, 3, 3) - 66f7d451a68b-0 (1, 2, 2), 01241442b3c2-2 (2, 3, 1)
   376   -           2 01241442b3c2            0            3            3 000000000000
   358   +bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   377   +           4 bebd167eb94d            0            5            5 000000000000
   359   +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   378   +           3 2dc09a01254d            0            4            4 000000000000
   360   +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   379   +           3 2dc09a01254d            2            2            4 000000000000
   361    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   380               1 66f7d451a68b            0            2            2 000000000000
   362    01241442b3c2-2 (2, 3, 1) - 
   381               2 01241442b3c2            2            1            3 000000000000
   363    1ea73414a91b-0 (0, 1, 1) - 
   382               0 1ea73414a91b            0            1            1 000000000000
   364   +2dc09a01254d-3 (3, 4, 1) - 
   383   +           3 2dc09a01254d            3            1            4 000000000000
   365    66f7d451a68b-1 (1, 2, 1) - 
   384               1 66f7d451a68b            1            1            2 000000000000
   366   +bebd167eb94d-4 (4, 5, 1) - 
   385   +           4 bebd167eb94d            4            1            5 000000000000
       
   386   [1]
   367   [1]
   387 
   368 
   388 (right branch)
   369 (right branch)
   389 
   370 
   390   $ hg debugobshashrange --subranges --rev right~2
   371   $ hg debugstablerange --verbose --subranges --rev right~2
   391            rev         node        index         size        depth      obshash
   372   42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   392              7 42b07e8da27d            0            4            4 000000000000
   373   42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   393              7 42b07e8da27d            2            2            4 000000000000
   374   de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   394              5 de561312eff4            0            2            2 000000000000
   375   1ea73414a91b-0 (0, 1, 1) - 
   395              0 1ea73414a91b            0            1            1 000000000000
   376   42b07e8da27d-3 (7, 4, 1) - 
   396              7 42b07e8da27d            3            1            4 000000000000
   377   b9bc20507e0b-2 (6, 3, 1) - 
   397              6 b9bc20507e0b            2            1            3 000000000000
   378   de561312eff4-1 (5, 2, 1) - 
   398              5 de561312eff4            1            1            2 000000000000
   379   $ hg debugstablerange --verbose --subranges --rev 'right~2' > right-2.range
   399   $ hg debugobshashrange --subranges --rev 'right~2' > right-2.range
   380   $ hg debugstablerange --verbose --subranges --rev right
   400   $ hg debugobshashrange --subranges --rev right
   381   f4b7da68b467-0 (9, 6, 6) - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2)
   401            rev         node        index         size        depth      obshash
   382   42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   402              9 f4b7da68b467            0            6            6 000000000000
   383   42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   403              7 42b07e8da27d            0            4            4 000000000000
   384   de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   404              7 42b07e8da27d            2            2            4 000000000000
   385   f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   405              5 de561312eff4            0            2            2 000000000000
   386   1ea73414a91b-0 (0, 1, 1) - 
   406              9 f4b7da68b467            4            2            6 000000000000
   387   42b07e8da27d-3 (7, 4, 1) - 
   407              0 1ea73414a91b            0            1            1 000000000000
   388   857477a9aebb-4 (8, 5, 1) - 
   408              7 42b07e8da27d            3            1            4 000000000000
   389   b9bc20507e0b-2 (6, 3, 1) - 
   409              8 857477a9aebb            4            1            5 000000000000
   390   de561312eff4-1 (5, 2, 1) - 
   410              6 b9bc20507e0b            2            1            3 000000000000
   391   f4b7da68b467-5 (9, 6, 1) - 
   411              5 de561312eff4            1            1            2 000000000000
   392   $ hg debugstablerange --verbose --subranges --rev 'right' > right.range
   412              9 f4b7da68b467            5            1            6 000000000000
       
   413   $ hg debugobshashrange --subranges --rev 'right' > right.range
       
   414   $ diff -u right-2.range right.range
   393   $ diff -u right-2.range right.range
   415   --- right-2.range	* (glob)
   394   --- right-2.range	* (glob)
   416   +++ right.range	* (glob)
   395   +++ right.range	* (glob)
   417   @@ -1,8 +1,12 @@
   396   @@ -1,7 +1,11 @@
   418             rev         node        index         size        depth      obshash
   397   +f4b7da68b467-0 (9, 6, 6) - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2)
   419   +           9 f4b7da68b467            0            6            6 000000000000
   398    42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   420               7 42b07e8da27d            0            4            4 000000000000
   399    42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   421               7 42b07e8da27d            2            2            4 000000000000
   400    de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   422               5 de561312eff4            0            2            2 000000000000
   401   +f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   423   +           9 f4b7da68b467            4            2            6 000000000000
   402    1ea73414a91b-0 (0, 1, 1) - 
   424               0 1ea73414a91b            0            1            1 000000000000
   403    42b07e8da27d-3 (7, 4, 1) - 
   425               7 42b07e8da27d            3            1            4 000000000000
   404   +857477a9aebb-4 (8, 5, 1) - 
   426   +           8 857477a9aebb            4            1            5 000000000000
   405    b9bc20507e0b-2 (6, 3, 1) - 
   427               6 b9bc20507e0b            2            1            3 000000000000
   406    de561312eff4-1 (5, 2, 1) - 
   428               5 de561312eff4            1            1            2 000000000000
   407   +f4b7da68b467-5 (9, 6, 1) - 
   429   +           9 f4b7da68b467            5            1            6 000000000000
       
   430   [1]
   408   [1]
   431 
   409 
   432 In this case, the bottom of the split will have multiple heads,
   410 In this case, the bottom of the split will have multiple heads,
   433 
   411 
   434 So we'll create more than 1 subrange out of it.
   412 So we'll create more than 1 subrange out of it.
   435 
   413 
   436 We are still able to reuse one of the branch however
   414 We are still able to reuse one of the branch however
   437 
   415 
   438   $ hg debugobshashrange --subranges --rev merge
   416   $ hg debugstablerange --verbose --subranges --rev merge
   439            rev         node        index         size        depth      obshash
   417   8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
   440             10 8aca7f8c9bd2            0           11           11 000000000000
   418   bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   441              4 bebd167eb94d            0            5            5 000000000000
   419   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   442              3 2dc09a01254d            0            4            4 000000000000
   420   42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   443              7 42b07e8da27d            0            4            4 000000000000
   421   8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
   444             10 8aca7f8c9bd2            8            3           11 000000000000
   422   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   445              3 2dc09a01254d            2            2            4 000000000000
   423   42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   446              7 42b07e8da27d            2            2            4 000000000000
   424   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   447              1 66f7d451a68b            0            2            2 000000000000
   425   de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   448              5 de561312eff4            0            2            2 000000000000
   426   f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   449              9 f4b7da68b467            4            2            6 000000000000
   427   01241442b3c2-2 (2, 3, 1) - 
   450              2 01241442b3c2            2            1            3 000000000000
   428   1ea73414a91b-0 (0, 1, 1) - 
   451              0 1ea73414a91b            0            1            1 000000000000
   429   2dc09a01254d-3 (3, 4, 1) - 
   452              3 2dc09a01254d            3            1            4 000000000000
   430   42b07e8da27d-3 (7, 4, 1) - 
   453              7 42b07e8da27d            3            1            4 000000000000
   431   66f7d451a68b-1 (1, 2, 1) - 
   454              1 66f7d451a68b            1            1            2 000000000000
   432   857477a9aebb-4 (8, 5, 1) - 
   455              8 857477a9aebb            4            1            5 000000000000
   433   8aca7f8c9bd2-10 (10, 11, 1) - 
   456             10 8aca7f8c9bd2           10            1           11 000000000000
   434   b9bc20507e0b-2 (6, 3, 1) - 
   457              6 b9bc20507e0b            2            1            3 000000000000
   435   bebd167eb94d-4 (4, 5, 1) - 
   458              4 bebd167eb94d            4            1            5 000000000000
   436   de561312eff4-1 (5, 2, 1) - 
   459              5 de561312eff4            1            1            2 000000000000
   437   f4b7da68b467-5 (9, 6, 1) - 
   460              9 f4b7da68b467            5            1            6 000000000000
   438   $ hg debugstablerange --verbose --subranges --rev 'merge' > merge.range
   461   $ hg debugobshashrange --subranges --rev 'merge' > merge.range
       
   462   $ diff -u left.range merge.range
   439   $ diff -u left.range merge.range
   463   --- left.range	* (glob)
   440   --- left.range	* (glob)
   464   +++ merge.range	* (glob)
   441   +++ merge.range	* (glob)
   465   @@ -1,10 +1,22 @@
   442   @@ -1,9 +1,21 @@
   466             rev         node        index         size        depth      obshash
   443   +8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
   467   +          10 8aca7f8c9bd2            0           11           11 000000000000
   444    bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   468               4 bebd167eb94d            0            5            5 000000000000
   445    2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   469               3 2dc09a01254d            0            4            4 000000000000
   446   +42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   470   +           7 42b07e8da27d            0            4            4 000000000000
   447   +8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
   471   +          10 8aca7f8c9bd2            8            3           11 000000000000
   448    2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   472               3 2dc09a01254d            2            2            4 000000000000
   449   +42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   473   +           7 42b07e8da27d            2            2            4 000000000000
   450    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   474               1 66f7d451a68b            0            2            2 000000000000
   451   +de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   475   +           5 de561312eff4            0            2            2 000000000000
   452   +f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   476   +           9 f4b7da68b467            4            2            6 000000000000
   453    01241442b3c2-2 (2, 3, 1) - 
   477               2 01241442b3c2            2            1            3 000000000000
   454    1ea73414a91b-0 (0, 1, 1) - 
   478               0 1ea73414a91b            0            1            1 000000000000
   455    2dc09a01254d-3 (3, 4, 1) - 
   479               3 2dc09a01254d            3            1            4 000000000000
   456   +42b07e8da27d-3 (7, 4, 1) - 
   480   +           7 42b07e8da27d            3            1            4 000000000000
   457    66f7d451a68b-1 (1, 2, 1) - 
   481               1 66f7d451a68b            1            1            2 000000000000
   458   +857477a9aebb-4 (8, 5, 1) - 
   482   +           8 857477a9aebb            4            1            5 000000000000
   459   +8aca7f8c9bd2-10 (10, 11, 1) - 
   483   +          10 8aca7f8c9bd2           10            1           11 000000000000
   460   +b9bc20507e0b-2 (6, 3, 1) - 
   484   +           6 b9bc20507e0b            2            1            3 000000000000
   461    bebd167eb94d-4 (4, 5, 1) - 
   485               4 bebd167eb94d            4            1            5 000000000000
   462   +de561312eff4-1 (5, 2, 1) - 
   486   +           5 de561312eff4            1            1            2 000000000000
   463   +f4b7da68b467-5 (9, 6, 1) - 
   487   +           9 f4b7da68b467            5            1            6 000000000000
       
   488   [1]
   464   [1]
   489   $ diff -u right.range merge.range
   465   $ diff -u right.range merge.range
   490   --- right.range	* (glob)
   466   --- right.range	* (glob)
   491   +++ merge.range	* (glob)
   467   +++ merge.range	* (glob)
   492   @@ -1,12 +1,22 @@
   468   @@ -1,11 +1,21 @@
   493             rev         node        index         size        depth      obshash
   469   -f4b7da68b467-0 (9, 6, 6) - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2)
   494   -           9 f4b7da68b467            0            6            6 000000000000
   470   +8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
   495   +          10 8aca7f8c9bd2            0           11           11 000000000000
   471   +bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   496   +           4 bebd167eb94d            0            5            5 000000000000
   472   +2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   497   +           3 2dc09a01254d            0            4            4 000000000000
   473    42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   498               7 42b07e8da27d            0            4            4 000000000000
   474   +8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
   499   +          10 8aca7f8c9bd2            8            3           11 000000000000
   475   +2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   500   +           3 2dc09a01254d            2            2            4 000000000000
   476    42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   501               7 42b07e8da27d            2            2            4 000000000000
   477   +66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   502   +           1 66f7d451a68b            0            2            2 000000000000
   478    de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   503               5 de561312eff4            0            2            2 000000000000
   479    f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   504               9 f4b7da68b467            4            2            6 000000000000
   480   +01241442b3c2-2 (2, 3, 1) - 
   505   +           2 01241442b3c2            2            1            3 000000000000
   481    1ea73414a91b-0 (0, 1, 1) - 
   506               0 1ea73414a91b            0            1            1 000000000000
   482   +2dc09a01254d-3 (3, 4, 1) - 
   507   +           3 2dc09a01254d            3            1            4 000000000000
   483    42b07e8da27d-3 (7, 4, 1) - 
   508               7 42b07e8da27d            3            1            4 000000000000
   484   +66f7d451a68b-1 (1, 2, 1) - 
   509   +           1 66f7d451a68b            1            1            2 000000000000
   485    857477a9aebb-4 (8, 5, 1) - 
   510               8 857477a9aebb            4            1            5 000000000000
   486   +8aca7f8c9bd2-10 (10, 11, 1) - 
   511   +          10 8aca7f8c9bd2           10            1           11 000000000000
   487    b9bc20507e0b-2 (6, 3, 1) - 
   512               6 b9bc20507e0b            2            1            3 000000000000
   488   +bebd167eb94d-4 (4, 5, 1) - 
   513   +           4 bebd167eb94d            4            1            5 000000000000
   489    de561312eff4-1 (5, 2, 1) - 
   514               5 de561312eff4            1            1            2 000000000000
   490    f4b7da68b467-5 (9, 6, 1) - 
   515               9 f4b7da68b467            5            1            6 000000000000
       
   516   [1]
   491   [1]
   517 
   492 
   518 Range above the merge, reuse subrange from the merge
   493 Range above the merge, reuse subrange from the merge
   519 
   494 
   520   $ hg debugobshashrange --subranges --rev tip
   495   $ hg debugstablerange --verbose --subranges --rev tip
   521            rev         node        index         size        depth      obshash
   496   e6b8d5b46647-0 (12, 13, 13) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), e6b8d5b46647-8 (12, 13, 5)
   522             12 e6b8d5b46647            0           13           13 000000000000
   497   bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   523              4 bebd167eb94d            0            5            5 000000000000
   498   e6b8d5b46647-8 (12, 13, 5) - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1)
   524             12 e6b8d5b46647            8            5           13 000000000000
   499   2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   525              3 2dc09a01254d            0            4            4 000000000000
   500   42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   526              7 42b07e8da27d            0            4            4 000000000000
   501   485383494a89-8 (11, 12, 4) - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2)
   527             11 485383494a89            8            4           12 000000000000
   502   2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   528              3 2dc09a01254d            2            2            4 000000000000
   503   42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   529              7 42b07e8da27d            2            2            4 000000000000
   504   485383494a89-10 (11, 12, 2) - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1)
   530             11 485383494a89           10            2           12 000000000000
   505   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   531              1 66f7d451a68b            0            2            2 000000000000
   506   de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   532              5 de561312eff4            0            2            2 000000000000
   507   f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   533              9 f4b7da68b467            4            2            6 000000000000
   508   01241442b3c2-2 (2, 3, 1) - 
   534              2 01241442b3c2            2            1            3 000000000000
   509   1ea73414a91b-0 (0, 1, 1) - 
   535              0 1ea73414a91b            0            1            1 000000000000
   510   2dc09a01254d-3 (3, 4, 1) - 
   536              3 2dc09a01254d            3            1            4 000000000000
   511   42b07e8da27d-3 (7, 4, 1) - 
   537              7 42b07e8da27d            3            1            4 000000000000
   512   485383494a89-11 (11, 12, 1) - 
   538             11 485383494a89           11            1           12 000000000000
   513   66f7d451a68b-1 (1, 2, 1) - 
   539              1 66f7d451a68b            1            1            2 000000000000
   514   857477a9aebb-4 (8, 5, 1) - 
   540              8 857477a9aebb            4            1            5 000000000000
   515   8aca7f8c9bd2-10 (10, 11, 1) - 
   541             10 8aca7f8c9bd2           10            1           11 000000000000
   516   b9bc20507e0b-2 (6, 3, 1) - 
   542              6 b9bc20507e0b            2            1            3 000000000000
   517   bebd167eb94d-4 (4, 5, 1) - 
   543              4 bebd167eb94d            4            1            5 000000000000
   518   de561312eff4-1 (5, 2, 1) - 
   544              5 de561312eff4            1            1            2 000000000000
   519   e6b8d5b46647-12 (12, 13, 1) - 
   545             12 e6b8d5b46647           12            1           13 000000000000
   520   f4b7da68b467-5 (9, 6, 1) - 
   546              9 f4b7da68b467            5            1            6 000000000000
   521   $ hg debugstablerange --verbose --subranges --rev 'tip' > tip.range
   547   $ hg debugobshashrange --subranges --rev 'tip' > tip.range
       
   548   $ diff -u merge.range tip.range
   522   $ diff -u merge.range tip.range
   549   --- merge.range	* (glob)
   523   --- merge.range	* (glob)
   550   +++ tip.range	* (glob)
   524   +++ tip.range	* (glob)
   551   @@ -1,11 +1,13 @@
   525   @@ -1,10 +1,12 @@
   552             rev         node        index         size        depth      obshash
   526   -8aca7f8c9bd2-0 (10, 11, 11) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), 8aca7f8c9bd2-8 (10, 11, 3)
   553   -          10 8aca7f8c9bd2            0           11           11 000000000000
   527   +e6b8d5b46647-0 (12, 13, 13) - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-0 (7, 4, 4), e6b8d5b46647-8 (12, 13, 5)
   554   +          12 e6b8d5b46647            0           13           13 000000000000
   528    bebd167eb94d-0 (4, 5, 5) - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1)
   555               4 bebd167eb94d            0            5            5 000000000000
   529   +e6b8d5b46647-8 (12, 13, 5) - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1)
   556   +          12 e6b8d5b46647            8            5           13 000000000000
   530    2dc09a01254d-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2)
   557               3 2dc09a01254d            0            4            4 000000000000
   531    42b07e8da27d-0 (7, 4, 4) - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2)
   558               7 42b07e8da27d            0            4            4 000000000000
   532   -8aca7f8c9bd2-8 (10, 11, 3) - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1)
   559   -          10 8aca7f8c9bd2            8            3           11 000000000000
   533   +485383494a89-8 (11, 12, 4) - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2)
   560   +          11 485383494a89            8            4           12 000000000000
   534    2dc09a01254d-2 (3, 4, 2) - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1)
   561               3 2dc09a01254d            2            2            4 000000000000
   535    42b07e8da27d-2 (7, 4, 2) - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1)
   562               7 42b07e8da27d            2            2            4 000000000000
   536   +485383494a89-10 (11, 12, 2) - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1)
   563   +          11 485383494a89           10            2           12 000000000000
   537    66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   564               1 66f7d451a68b            0            2            2 000000000000
   538    de561312eff4-0 (5, 2, 2) - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1)
   565               5 de561312eff4            0            2            2 000000000000
   539    f4b7da68b467-4 (9, 6, 2) - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1)
   566               9 f4b7da68b467            4            2            6 000000000000
   540   @@ -12,10 +14,12 @@
   567   @@ -13,10 +15,12 @@
   541    1ea73414a91b-0 (0, 1, 1) - 
   568               0 1ea73414a91b            0            1            1 000000000000
   542    2dc09a01254d-3 (3, 4, 1) - 
   569               3 2dc09a01254d            3            1            4 000000000000
   543    42b07e8da27d-3 (7, 4, 1) - 
   570               7 42b07e8da27d            3            1            4 000000000000
   544   +485383494a89-11 (11, 12, 1) - 
   571   +          11 485383494a89           11            1           12 000000000000
   545    66f7d451a68b-1 (1, 2, 1) - 
   572               1 66f7d451a68b            1            1            2 000000000000
   546    857477a9aebb-4 (8, 5, 1) - 
   573               8 857477a9aebb            4            1            5 000000000000
   547    8aca7f8c9bd2-10 (10, 11, 1) - 
   574              10 8aca7f8c9bd2           10            1           11 000000000000
   548    b9bc20507e0b-2 (6, 3, 1) - 
   575               6 b9bc20507e0b            2            1            3 000000000000
   549    bebd167eb94d-4 (4, 5, 1) - 
   576               4 bebd167eb94d            4            1            5 000000000000
   550    de561312eff4-1 (5, 2, 1) - 
   577               5 de561312eff4            1            1            2 000000000000
   551   +e6b8d5b46647-12 (12, 13, 1) - 
   578   +          12 e6b8d5b46647           12            1           13 000000000000
   552    f4b7da68b467-5 (9, 6, 1) - 
   579               9 f4b7da68b467            5            1            6 000000000000
       
   580   [1]
   553   [1]
   581 
   554 
   582   $ cd ..
   555   $ cd ..
   583 
   556 
   584 Tests range with criss cross merge in the graph
   557 Tests range with criss cross merge in the graph
   630   | |
   603   | |
   631   | o  1 66f7d451a68b r1 g
   604   | o  1 66f7d451a68b r1 g
   632   |/
   605   |/
   633   o  0 1ea73414a91b r0
   606   o  0 1ea73414a91b r0
   634   
   607   
   635   $ hg debugobshashrange --subranges --rev 'head()'
   608   $ hg debugstablerange --verbose --subranges --rev 'head()'
   636            rev         node        index         size        depth      obshash
   609   1d8d22637c2d-0 (15, 8, 8) - 2b6d669947cd-0 (3, 4, 4), 1d8d22637c2d-4 (15, 8, 4)
   637             15 1d8d22637c2d            0            8            8 000000000000
   610   dcbb326fdec2-0 (9, 7, 7) - 2b6d669947cd-0 (3, 4, 4), dcbb326fdec2-4 (9, 7, 3)
   638              9 dcbb326fdec2            0            7            7 000000000000
   611   ff43616e5d0f-0 (10, 7, 7) - 2b6d669947cd-0 (3, 4, 4), ff43616e5d0f-4 (10, 7, 3)
   639             10 ff43616e5d0f            0            7            7 000000000000
   612   b4594d867745-0 (13, 6, 6) - 2b6d669947cd-0 (3, 4, 4), b4594d867745-4 (13, 6, 2)
   640             13 b4594d867745            0            6            6 000000000000
   613   e46a4836065c-0 (12, 6, 6) - 2b6d669947cd-0 (3, 4, 4), e46a4836065c-4 (12, 6, 2)
   641             12 e46a4836065c            0            6            6 000000000000
   614   2702dd0c91e7-0 (6, 5, 5) - f0f3ef9a6cd5-0 (5, 4, 4), 2702dd0c91e7-4 (6, 5, 1)
   642              6 2702dd0c91e7            0            5            5 000000000000
   615   1d8d22637c2d-4 (15, 8, 4) - 4c748ffd1a46-2 (4, 3, 1), 43227190fef8-4 (14, 5, 1), 1d8d22637c2d-6 (15, 8, 2)
   643             15 1d8d22637c2d            4            4            8 000000000000
   616   2b6d669947cd-0 (3, 4, 4) - 66f7d451a68b-0 (1, 2, 2), 2b6d669947cd-2 (3, 4, 2)
   644              3 2b6d669947cd            0            4            4 000000000000
   617   f0f3ef9a6cd5-0 (5, 4, 4) - fa942426a6fd-0 (2, 2, 2), f0f3ef9a6cd5-2 (5, 4, 2)
   645              5 f0f3ef9a6cd5            0            4            4 000000000000
   618   dcbb326fdec2-4 (9, 7, 3) - d62d843c9a01-4 (8, 6, 2), dcbb326fdec2-6 (9, 7, 1)
   646              9 dcbb326fdec2            4            3            7 000000000000
   619   ff43616e5d0f-4 (10, 7, 3) - d62d843c9a01-4 (8, 6, 2), ff43616e5d0f-6 (10, 7, 1)
   647             10 ff43616e5d0f            4            3            7 000000000000
   620   1d8d22637c2d-6 (15, 8, 2) - f0f3ef9a6cd5-3 (5, 4, 1), 1d8d22637c2d-7 (15, 8, 1)
   648             15 1d8d22637c2d            6            2            8 000000000000
   621   2b6d669947cd-2 (3, 4, 2) - fa942426a6fd-1 (2, 2, 1), 2b6d669947cd-3 (3, 4, 1)
   649              3 2b6d669947cd            2            2            4 000000000000
   622   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   650              1 66f7d451a68b            0            2            2 000000000000
   623   b4594d867745-4 (13, 6, 2) - bab5d5bf48bd-4 (11, 5, 1), b4594d867745-5 (13, 6, 1)
   651             13 b4594d867745            4            2            6 000000000000
   624   d62d843c9a01-4 (8, 6, 2) - e7d9710d9fc6-4 (7, 5, 1), d62d843c9a01-5 (8, 6, 1)
   652              8 d62d843c9a01            4            2            6 000000000000
   625   e46a4836065c-4 (12, 6, 2) - bab5d5bf48bd-4 (11, 5, 1), e46a4836065c-5 (12, 6, 1)
   653             12 e46a4836065c            4            2            6 000000000000
   626   f0f3ef9a6cd5-2 (5, 4, 2) - 4c748ffd1a46-2 (4, 3, 1), f0f3ef9a6cd5-3 (5, 4, 1)
   654              5 f0f3ef9a6cd5            2            2            4 000000000000
   627   fa942426a6fd-0 (2, 2, 2) - 1ea73414a91b-0 (0, 1, 1), fa942426a6fd-1 (2, 2, 1)
   655              2 fa942426a6fd            0            2            2 000000000000
   628   1d8d22637c2d-7 (15, 8, 1) - 
   656             15 1d8d22637c2d            7            1            8 000000000000
   629   1ea73414a91b-0 (0, 1, 1) - 
   657              0 1ea73414a91b            0            1            1 000000000000
   630   2702dd0c91e7-4 (6, 5, 1) - 
   658              6 2702dd0c91e7            4            1            5 000000000000
   631   2b6d669947cd-3 (3, 4, 1) - 
   659              3 2b6d669947cd            3            1            4 000000000000
   632   43227190fef8-4 (14, 5, 1) - 
   660             14 43227190fef8            4            1            5 000000000000
   633   4c748ffd1a46-2 (4, 3, 1) - 
   661              4 4c748ffd1a46            2            1            3 000000000000
   634   66f7d451a68b-1 (1, 2, 1) - 
   662              1 66f7d451a68b            1            1            2 000000000000
   635   b4594d867745-5 (13, 6, 1) - 
   663             13 b4594d867745            5            1            6 000000000000
   636   bab5d5bf48bd-4 (11, 5, 1) - 
   664             11 bab5d5bf48bd            4            1            5 000000000000
   637   d62d843c9a01-5 (8, 6, 1) - 
   665              8 d62d843c9a01            5            1            6 000000000000
   638   dcbb326fdec2-6 (9, 7, 1) - 
   666              9 dcbb326fdec2            6            1            7 000000000000
   639   e46a4836065c-5 (12, 6, 1) - 
   667             12 e46a4836065c            5            1            6 000000000000
   640   e7d9710d9fc6-4 (7, 5, 1) - 
   668              7 e7d9710d9fc6            4            1            5 000000000000
   641   f0f3ef9a6cd5-3 (5, 4, 1) - 
   669              5 f0f3ef9a6cd5            3            1            4 000000000000
   642   fa942426a6fd-1 (2, 2, 1) - 
   670              2 fa942426a6fd            1            1            2 000000000000
   643   ff43616e5d0f-6 (10, 7, 1) - 
   671             10 ff43616e5d0f            6            1            7 000000000000
       
   672   $ cd ..
   644   $ cd ..
   673 
   645 
   674 Tests range where a toprange is rooted on a merge
   646 Tests range where a toprange is rooted on a merge
   675 =================================================
   647 =================================================
   676 
   648 
   690   | |
   662   | |
   691   o |  1 66f7d451a68b r1 a
   663   o |  1 66f7d451a68b r1 a
   692   |/
   664   |/
   693   o  0 1ea73414a91b r0
   665   o  0 1ea73414a91b r0
   694   
   666   
   695   $ hg debugobshashrange --subranges --rev 'head()'
   667   $ hg debugstablerange --verbose --subranges --rev 'head()'
   696            rev         node        index         size        depth      obshash
   668   f37e476fba9a-0 (4, 5, 5) - 66f7d451a68b-0 (1, 2, 2), 36315563e2fa-0 (3, 3, 3), f37e476fba9a-4 (4, 5, 1)
   697              4 f37e476fba9a            0            5            5 000000000000
   669   36315563e2fa-0 (3, 3, 3) - fa942426a6fd-0 (2, 2, 2), 36315563e2fa-2 (3, 3, 1)
   698              3 36315563e2fa            0            3            3 000000000000
   670   66f7d451a68b-0 (1, 2, 2) - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1)
   699              1 66f7d451a68b            0            2            2 000000000000
   671   fa942426a6fd-0 (2, 2, 2) - 1ea73414a91b-0 (0, 1, 1), fa942426a6fd-1 (2, 2, 1)
   700              2 fa942426a6fd            0            2            2 000000000000
   672   1ea73414a91b-0 (0, 1, 1) - 
   701              0 1ea73414a91b            0            1            1 000000000000
   673   36315563e2fa-2 (3, 3, 1) - 
   702              3 36315563e2fa            2            1            3 000000000000
   674   66f7d451a68b-1 (1, 2, 1) - 
   703              1 66f7d451a68b            1            1            2 000000000000
   675   f37e476fba9a-4 (4, 5, 1) - 
   704              4 f37e476fba9a            4            1            5 000000000000
   676   fa942426a6fd-1 (2, 2, 1) - 
   705              2 fa942426a6fd            1            1            2 000000000000
   677 
   706