tests/test-stablerange.t
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Fri, 24 Mar 2017 09:49:03 +0100
changeset 2230 a202f3af890c
parent 2229 575561934439
child 2231 f872738bb5b3
permissions -rw-r--r--
debugobshashrange: add a --subranges option We stop displaying -everything- by default, since is is usually very large. This will help getting better timing when measuring cache effect too, since we won't need to dig out deep cache value that real life usage would not touch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     1
Test for stable ordering capabilities
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     2
=====================================
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     3
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     4
  $ . $TESTDIR/testlib/pythonpath.sh
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     5
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     6
  $ cat << EOF >> $HGRCPATH
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
  > [extensions]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     8
  > hgext3rd.evolve =
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
  > [ui]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    10
  > logtemplate = "{rev} {node|short} {desc} {tags}\n"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
  > EOF
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    12
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    13
Simple linear test
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    14
==================
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    15
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    16
  $ hg init repo_linear
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    17
  $ cd repo_linear
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    18
  $ hg debugbuilddag '.+6'
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    19
  $ hg debugobshashrange --subranges --rev 1
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    20
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    21
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    22
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    23
             1 66f7d451a68b            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    24
  $ hg debugobshashrange --subranges --rev 1 > 1.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    25
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    26
bigger subset reuse most of the previous one
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    27
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    28
  $ hg debugobshashrange --subranges --rev 4
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    29
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    30
             4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    31
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    32
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    33
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    34
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    35
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    36
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    37
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    38
             4 bebd167eb94d            4            1            5 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    39
  $ hg debugobshashrange --subranges --rev 4 > 4.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    40
  $ diff -u 1.range 4.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    41
  --- 1.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    42
  +++ 4.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    43
  @@ -1,4 +1,10 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    44
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    45
  +           4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    46
  +           3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    47
  +           3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    48
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    49
  +           2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    50
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    51
  +           3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    52
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    53
  +           4 bebd167eb94d            4            1            5 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    54
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    55
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    56
Using a range not ending on 2**N boundary
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    57
we fall back on 2**N as much as possible
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    58
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    59
  $ hg debugobshashrange --subranges --rev 5
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    60
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    61
             5 c8d03c1b5e94            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    62
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    63
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    64
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    65
             5 c8d03c1b5e94            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    66
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    67
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    68
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    69
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    70
             4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    71
             5 c8d03c1b5e94            5            1            6 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    72
  $ hg debugobshashrange --subranges --rev 5 > 5.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    73
  $ diff -u 4.range 5.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    74
  --- 4.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    75
  +++ 5.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    76
  @@ -1,10 +1,12 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    77
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    78
  -           4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    79
  +           5 c8d03c1b5e94            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    80
              3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    81
              3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    82
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    83
  +           5 c8d03c1b5e94            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    84
              2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    85
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    86
              3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    87
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    88
              4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    89
  +           5 c8d03c1b5e94            5            1            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    90
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    91
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    92
Even two unperfect range overlap a lot
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    93
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
    94
  $ hg debugobshashrange --subranges --rev tip
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    95
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    96
             6 f69452c5b1af            0            7            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    97
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    98
             6 f69452c5b1af            4            3            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
    99
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   100
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   101
             5 c8d03c1b5e94            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   102
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   103
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   104
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   105
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   106
             4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   107
             5 c8d03c1b5e94            5            1            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   108
             6 f69452c5b1af            6            1            7 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   109
  $ hg debugobshashrange --subranges --rev tip > tip.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   110
  $ diff -u 5.range tip.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   111
  --- 5.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   112
  +++ tip.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   113
  @@ -1,6 +1,7 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   114
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   115
  -           5 c8d03c1b5e94            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   116
  +           6 f69452c5b1af            0            7            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   117
              3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   118
  +           6 f69452c5b1af            4            3            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   119
              3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   120
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   121
              5 c8d03c1b5e94            4            2            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   122
  @@ -10,3 +11,4 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   123
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   124
              4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   125
              5 c8d03c1b5e94            5            1            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   126
  +           6 f69452c5b1af            6            1            7 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   127
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   128
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   129
  $ cd ..
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   130
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   131
Case with merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   132
===============
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   133
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   134
Simple case: branching is on a boundary
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   135
--------------------------------------------
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   136
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   137
  $ hg init repo_merge_split_on_boundary
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   138
  $ cd repo_merge_split_on_boundary
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   139
  $ hg debugbuilddag '.:base
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   140
  > +3:left
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   141
  > <base+3:right
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   142
  > <left/right:merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   143
  > +2:head
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   144
  > '
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   145
  $ hg log -G
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   146
  o  9 0338daf18215 r9 head tip
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   147
  |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   148
  o  8 71b32fcf3f71 r8
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   149
  |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   150
  o    7 5f18015f9110 r7 merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   151
  |\
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   152
  | o  6 a2f58e9c1e56 r6 right
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   153
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   154
  | o  5 3a367db1fabc r5
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   155
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   156
  | o  4 e7bd5218ca15 r4
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   157
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   158
  o |  3 2dc09a01254d r3 left
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   159
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   160
  o |  2 01241442b3c2 r2
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   161
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   162
  o |  1 66f7d451a68b r1
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   163
  |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   164
  o  0 1ea73414a91b r0 base
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   165
  
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   166
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   167
Each of the linear branch reuse range internally
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   168
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   169
(left branch)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   170
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   171
  $ hg debugobshashrange --subranges --rev 'left~2'
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   172
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   173
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   174
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   175
             1 66f7d451a68b            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   176
  $ hg debugobshashrange --subranges --rev 'left~2' > left-2.range
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   177
  $ hg debugobshashrange --subranges --rev left
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   178
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   179
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   180
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   181
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   182
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   183
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   184
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   185
             1 66f7d451a68b            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   186
  $ hg debugobshashrange --subranges --rev 'left' > left.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   187
  $ diff -u left-2.range left.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   188
  --- left-2.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   189
  +++ left.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   190
  @@ -1,4 +1,8 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   191
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   192
  +           3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   193
  +           3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   194
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   195
  +           2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   196
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   197
  +           3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   198
              1 66f7d451a68b            1            1            2 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   199
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   200
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   201
(right branch)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   202
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   203
  $ hg debugobshashrange --subranges --rev right~2
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   204
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   205
             4 e7bd5218ca15            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   206
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   207
             4 e7bd5218ca15            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   208
  $ hg debugobshashrange --subranges --rev 'right~2' > right-2.range
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   209
  $ hg debugobshashrange --subranges --rev right
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   210
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   211
             6 a2f58e9c1e56            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   212
             6 a2f58e9c1e56            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   213
             4 e7bd5218ca15            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   214
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   215
             5 3a367db1fabc            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   216
             6 a2f58e9c1e56            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   217
             4 e7bd5218ca15            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   218
  $ hg debugobshashrange --subranges --rev 'right' > right.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   219
  $ diff -u right-2.range right.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   220
  --- right-2.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   221
  +++ right.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   222
  @@ -1,4 +1,8 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   223
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   224
  +           6 a2f58e9c1e56            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   225
  +           6 a2f58e9c1e56            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   226
              4 e7bd5218ca15            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   227
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   228
  +           5 3a367db1fabc            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   229
  +           6 a2f58e9c1e56            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   230
              4 e7bd5218ca15            1            1            2 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   231
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   232
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   233
The merge reuse as much of the slicing created for one of the branch
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   234
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   235
  $ hg debugobshashrange --subranges --rev merge
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   236
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   237
             7 5f18015f9110            0            8            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   238
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   239
             7 5f18015f9110            4            4            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   240
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   241
             5 3a367db1fabc            1            2            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   242
             7 5f18015f9110            6            2            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   243
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   244
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   245
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   246
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   247
             5 3a367db1fabc            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   248
             7 5f18015f9110            7            1            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   249
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   250
             6 a2f58e9c1e56            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   251
             4 e7bd5218ca15            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   252
  $ hg debugobshashrange --subranges --rev 'merge' > merge.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   253
  $ diff -u left.range merge.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   254
  --- left.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   255
  +++ merge.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   256
  @@ -1,8 +1,16 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   257
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   258
  +           7 5f18015f9110            0            8            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   259
              3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   260
  +           7 5f18015f9110            4            4            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   261
              3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   262
  +           5 3a367db1fabc            1            2            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   263
  +           7 5f18015f9110            6            2            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   264
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   265
              2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   266
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   267
              3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   268
  +           5 3a367db1fabc            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   269
  +           7 5f18015f9110            7            1            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   270
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   271
  +           6 a2f58e9c1e56            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   272
  +           4 e7bd5218ca15            1            1            2 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   273
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   274
  $ diff -u right.range merge.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   275
  --- right.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   276
  +++ merge.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   277
  @@ -1,8 +1,16 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   278
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   279
  -           6 a2f58e9c1e56            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   280
  -           6 a2f58e9c1e56            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   281
  -           4 e7bd5218ca15            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   282
  +           7 5f18015f9110            0            8            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   283
  +           3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   284
  +           7 5f18015f9110            4            4            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   285
  +           3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   286
  +           5 3a367db1fabc            1            2            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   287
  +           7 5f18015f9110            6            2            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   288
  +           1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   289
  +           2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   290
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   291
  +           3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   292
              5 3a367db1fabc            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   293
  +           7 5f18015f9110            7            1            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   294
  +           1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   295
              6 a2f58e9c1e56            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   296
              4 e7bd5218ca15            1            1            2 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   297
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   298
  $ cd ..
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   299
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   300
slice create multiple heads
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   301
---------------------------
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   302
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   303
  $ hg init repo_merge_split_heads
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   304
  $ cd repo_merge_split_heads
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   305
  $ hg debugbuilddag '.:base
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   306
  > +4:left
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   307
  > <base+5:right
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   308
  > <left/right:merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   309
  > +2:head
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   310
  > '
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   311
  $ hg debugbuilddag '.:base
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   312
  > +3:left
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   313
  > <base+3:right
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   314
  > <left/right:merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   315
  > +2:head
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   316
  > '
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   317
  abort: repository is not empty
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   318
  [255]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   319
  $ hg log -G
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   320
  o  12 e6b8d5b46647 r12 head tip
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   321
  |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   322
  o  11 485383494a89 r11
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   323
  |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   324
  o    10 8aca7f8c9bd2 r10 merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   325
  |\
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   326
  | o  9 f4b7da68b467 r9 right
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   327
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   328
  | o  8 857477a9aebb r8
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   329
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   330
  | o  7 42b07e8da27d r7
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   331
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   332
  | o  6 b9bc20507e0b r6
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   333
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   334
  | o  5 de561312eff4 r5
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   335
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   336
  o |  4 bebd167eb94d r4 left
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   337
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   338
  o |  3 2dc09a01254d r3
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   339
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   340
  o |  2 01241442b3c2 r2
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   341
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   342
  o |  1 66f7d451a68b r1
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   343
  |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   344
  o  0 1ea73414a91b r0 base
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   345
  
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   346
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   347
Each of the linear branch reuse range internally
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   348
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   349
(left branch)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   350
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   351
  $ hg debugobshashrange --subranges --rev 'left~2'
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   352
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   353
             2 01241442b3c2            0            3            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   354
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   355
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   356
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   357
             1 66f7d451a68b            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   358
  $ hg debugobshashrange --subranges --rev 'left~2' > left-2.range
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   359
  $ hg debugobshashrange --subranges --rev left
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   360
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   361
             4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   362
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   363
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   364
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   365
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   366
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   367
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   368
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   369
             4 bebd167eb94d            4            1            5 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   370
  $ hg debugobshashrange --subranges --rev 'left' > left.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   371
  $ diff -u left-2.range left.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   372
  --- left-2.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   373
  +++ left.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   374
  @@ -1,6 +1,10 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   375
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   376
  -           2 01241442b3c2            0            3            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   377
  +           4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   378
  +           3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   379
  +           3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   380
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   381
              2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   382
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   383
  +           3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   384
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   385
  +           4 bebd167eb94d            4            1            5 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   386
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   387
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   388
(right branch)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   389
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   390
  $ hg debugobshashrange --subranges --rev right~2
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   391
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   392
             7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   393
             7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   394
             5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   395
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   396
             7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   397
             6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   398
             5 de561312eff4            1            1            2 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   399
  $ hg debugobshashrange --subranges --rev 'right~2' > right-2.range
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   400
  $ hg debugobshashrange --subranges --rev right
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   401
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   402
             9 f4b7da68b467            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   403
             7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   404
             7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   405
             5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   406
             9 f4b7da68b467            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   407
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   408
             7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   409
             8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   410
             6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   411
             5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   412
             9 f4b7da68b467            5            1            6 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   413
  $ hg debugobshashrange --subranges --rev 'right' > right.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   414
  $ diff -u right-2.range right.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   415
  --- right-2.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   416
  +++ right.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   417
  @@ -1,8 +1,12 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   418
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   419
  +           9 f4b7da68b467            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   420
              7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   421
              7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   422
              5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   423
  +           9 f4b7da68b467            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   424
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   425
              7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   426
  +           8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   427
              6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   428
              5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   429
  +           9 f4b7da68b467            5            1            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   430
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   431
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   432
In this case, the bottom of the split will have multiple heads,
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   433
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   434
So we'll create more than 1 subrange out of it.
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   435
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   436
We are still able to reuse one of the branch however
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   437
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   438
  $ hg debugobshashrange --subranges --rev merge
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   439
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   440
            10 8aca7f8c9bd2            0           11           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   441
             4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   442
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   443
             7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   444
            10 8aca7f8c9bd2            8            3           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   445
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   446
             7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   447
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   448
             5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   449
             9 f4b7da68b467            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   450
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   451
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   452
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   453
             7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   454
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   455
             8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   456
            10 8aca7f8c9bd2           10            1           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   457
             6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   458
             4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   459
             5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   460
             9 f4b7da68b467            5            1            6 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   461
  $ hg debugobshashrange --subranges --rev 'merge' > merge.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   462
  $ diff -u left.range merge.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   463
  --- left.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   464
  +++ merge.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   465
  @@ -1,10 +1,22 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   466
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   467
  +          10 8aca7f8c9bd2            0           11           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   468
              4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   469
              3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   470
  +           7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   471
  +          10 8aca7f8c9bd2            8            3           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   472
              3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   473
  +           7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   474
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   475
  +           5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   476
  +           9 f4b7da68b467            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   477
              2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   478
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   479
              3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   480
  +           7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   481
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   482
  +           8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   483
  +          10 8aca7f8c9bd2           10            1           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   484
  +           6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   485
              4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   486
  +           5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   487
  +           9 f4b7da68b467            5            1            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   488
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   489
  $ diff -u right.range merge.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   490
  --- right.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   491
  +++ merge.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   492
  @@ -1,12 +1,22 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   493
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   494
  -           9 f4b7da68b467            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   495
  +          10 8aca7f8c9bd2            0           11           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   496
  +           4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   497
  +           3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   498
              7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   499
  +          10 8aca7f8c9bd2            8            3           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   500
  +           3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   501
              7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   502
  +           1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   503
              5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   504
              9 f4b7da68b467            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   505
  +           2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   506
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   507
  +           3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   508
              7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   509
  +           1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   510
              8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   511
  +          10 8aca7f8c9bd2           10            1           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   512
              6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   513
  +           4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   514
              5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   515
              9 f4b7da68b467            5            1            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   516
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   517
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   518
Range above the merge, reuse subrange from the merge
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   519
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   520
  $ hg debugobshashrange --subranges --rev tip
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   521
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   522
            12 e6b8d5b46647            0           13           13 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   523
             4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   524
            12 e6b8d5b46647            8            5           13 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   525
             3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   526
             7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   527
            11 485383494a89            8            4           12 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   528
             3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   529
             7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   530
            11 485383494a89           10            2           12 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   531
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   532
             5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   533
             9 f4b7da68b467            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   534
             2 01241442b3c2            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   535
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   536
             3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   537
             7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   538
            11 485383494a89           11            1           12 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   539
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   540
             8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   541
            10 8aca7f8c9bd2           10            1           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   542
             6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   543
             4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   544
             5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   545
            12 e6b8d5b46647           12            1           13 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   546
             9 f4b7da68b467            5            1            6 000000000000
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   547
  $ hg debugobshashrange --subranges --rev 'tip' > tip.range
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   548
  $ diff -u merge.range tip.range
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   549
  --- merge.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   550
  +++ tip.range	* (glob)
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   551
  @@ -1,11 +1,13 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   552
            rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   553
  -          10 8aca7f8c9bd2            0           11           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   554
  +          12 e6b8d5b46647            0           13           13 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   555
              4 bebd167eb94d            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   556
  +          12 e6b8d5b46647            8            5           13 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   557
              3 2dc09a01254d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   558
              7 42b07e8da27d            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   559
  -          10 8aca7f8c9bd2            8            3           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   560
  +          11 485383494a89            8            4           12 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   561
              3 2dc09a01254d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   562
              7 42b07e8da27d            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   563
  +          11 485383494a89           10            2           12 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   564
              1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   565
              5 de561312eff4            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   566
              9 f4b7da68b467            4            2            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   567
  @@ -13,10 +15,12 @@
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   568
              0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   569
              3 2dc09a01254d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   570
              7 42b07e8da27d            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   571
  +          11 485383494a89           11            1           12 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   572
              1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   573
              8 857477a9aebb            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   574
             10 8aca7f8c9bd2           10            1           11 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   575
              6 b9bc20507e0b            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   576
              4 bebd167eb94d            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   577
              5 de561312eff4            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   578
  +          12 e6b8d5b46647           12            1           13 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   579
              9 f4b7da68b467            5            1            6 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   580
  [1]
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   581
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   582
  $ cd ..
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   583
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   584
Tests range with criss cross merge in the graph
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   585
===============================================
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   586
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   587
  $ hg init repo_criss_cross
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   588
  $ cd repo_criss_cross
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   589
  $ hg debugbuilddag '
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   590
  > ..:g   # 2 nodes, tagged "g"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   591
  > <2.:h   # another node base one -2 -> 0, tagged "h"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   592
  > *1/2:m # merge -1 and -2 (1, 2), tagged "m"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   593
  > <2+2:i # 2 nodes based on -2, tag head as "i"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   594
  > .:c    # 1 node tagged "c"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   595
  > <m+3:a # 3 nodes base on the "m" tag
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   596
  > <2.:b  # 1 node based on -2; tagged "b"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   597
  > <m+2:d # 2 nodes from "m" tagged "d"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   598
  > <2.:e  # 1 node based on -2, tagged "e"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   599
  > <m+1:f # 1 node based on "m" tagged "f"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   600
  > <i/f   # merge "i" and "f"
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   601
  > '
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   602
  $ hg log -G
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   603
  o    15 1d8d22637c2d r15 tip
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   604
  |\
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   605
  | o  14 43227190fef8 r14 f
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   606
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   607
  | | o  13 b4594d867745 r13 e
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   608
  | | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   609
  | | | o  12 e46a4836065c r12 d
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   610
  | | |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   611
  | | o  11 bab5d5bf48bd r11
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   612
  | |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   613
  | | o  10 ff43616e5d0f r10 b
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   614
  | | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   615
  | | | o  9 dcbb326fdec2 r9 a
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   616
  | | |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   617
  | | o  8 d62d843c9a01 r8
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   618
  | | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   619
  | | o  7 e7d9710d9fc6 r7
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   620
  | |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   621
  +---o  6 2702dd0c91e7 r6 c
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   622
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   623
  o |  5 f0f3ef9a6cd5 r5 i
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   624
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   625
  o |  4 4c748ffd1a46 r4
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   626
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   627
  | o  3 2b6d669947cd r3 m
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   628
  |/|
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   629
  o |  2 fa942426a6fd r2 h
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   630
  | |
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   631
  | o  1 66f7d451a68b r1 g
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   632
  |/
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   633
  o  0 1ea73414a91b r0
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   634
  
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   635
  $ hg debugobshashrange --subranges --rev 'head()'
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   636
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   637
            15 1d8d22637c2d            0            8            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   638
             9 dcbb326fdec2            0            7            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   639
            10 ff43616e5d0f            0            7            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   640
            13 b4594d867745            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   641
            12 e46a4836065c            0            6            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   642
             6 2702dd0c91e7            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   643
            15 1d8d22637c2d            4            4            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   644
             3 2b6d669947cd            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   645
             5 f0f3ef9a6cd5            0            4            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   646
             9 dcbb326fdec2            4            3            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   647
            10 ff43616e5d0f            4            3            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   648
            15 1d8d22637c2d            6            2            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   649
             3 2b6d669947cd            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   650
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   651
            13 b4594d867745            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   652
             8 d62d843c9a01            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   653
            12 e46a4836065c            4            2            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   654
             5 f0f3ef9a6cd5            2            2            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   655
             2 fa942426a6fd            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   656
            15 1d8d22637c2d            7            1            8 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   657
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   658
             6 2702dd0c91e7            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   659
             3 2b6d669947cd            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   660
            14 43227190fef8            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   661
             4 4c748ffd1a46            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   662
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   663
            13 b4594d867745            5            1            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   664
            11 bab5d5bf48bd            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   665
             8 d62d843c9a01            5            1            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   666
             9 dcbb326fdec2            6            1            7 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   667
            12 e46a4836065c            5            1            6 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   668
             7 e7d9710d9fc6            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   669
             5 f0f3ef9a6cd5            3            1            4 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   670
             2 fa942426a6fd            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   671
            10 ff43616e5d0f            6            1            7 000000000000
2082
3f787182509f discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   672
  $ cd ..
2207
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   673
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   674
Tests range where a toprange is rooted on a merge
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   675
=================================================
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   676
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   677
  $ hg init slice_on_merge
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   678
  $ cd slice_on_merge
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   679
  $ hg debugbuilddag '
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   680
  > ..:a   # 2 nodes, tagged "a"
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   681
  > <2..:b   # another branch with two node based on 0, tagged b
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   682
  > *a/b:m # merge -1 and -2 (1, 2), tagged "m"
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   683
  > '
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   684
  $ hg log -G
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   685
  o    4 f37e476fba9a r4 m tip
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   686
  |\
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   687
  | o  3 36315563e2fa r3 b
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   688
  | |
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   689
  | o  2 fa942426a6fd r2
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   690
  | |
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   691
  o |  1 66f7d451a68b r1 a
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   692
  |/
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   693
  o  0 1ea73414a91b r0
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   694
  
2230
a202f3af890c debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2229
diff changeset
   695
  $ hg debugobshashrange --subranges --rev 'head()'
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   696
           rev         node        index         size        depth      obshash
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   697
             4 f37e476fba9a            0            5            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   698
             3 36315563e2fa            0            3            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   699
             1 66f7d451a68b            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   700
             2 fa942426a6fd            0            2            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   701
             0 1ea73414a91b            0            1            1 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   702
             3 36315563e2fa            2            1            3 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   703
             1 66f7d451a68b            1            1            2 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   704
             4 f37e476fba9a            4            1            5 000000000000
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2207
diff changeset
   705
             2 fa942426a6fd            1            1            2 000000000000
2207
f82a398162f5 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2083
diff changeset
   706