tests/test-stablesort-branchpoint-criss-cross.t
changeset 3254 00e20077bccf
parent 3246 543708c3f754
child 3287 4303a46b4167
equal deleted inserted replaced
3253:8dcb9e929a57 3254:00e20077bccf
       
     1 Test for stable ordering capabilities
       
     2 =====================================
       
     3 
       
     4   $ . $TESTDIR/testlib/pythonpath.sh
       
     5 
       
     6   $ cat << EOF >> $HGRCPATH
       
     7   > [extensions]
       
     8   > hgext3rd.evolve =
       
     9   > [ui]
       
    10   > logtemplate = "{rev} {node|short} {desc} {tags}\n"
       
    11   > [alias]
       
    12   > showsort = debugstablesort --template="{node|short}\n" --method branchpoint
       
    13   > EOF
       
    14 
       
    15   $ checktopo () {
       
    16   >     seen='null';
       
    17   >     for node in `hg showsort --rev "$1"`; do
       
    18   >         echo "=== checking $node ===";
       
    19   >         hg log --rev "($seen) and $node::";
       
    20   >         seen="${seen}+${node}";
       
    21   >     done;
       
    22   > }
       
    23 
       
    24   $ cat << EOF >> random_rev.py
       
    25   > import random
       
    26   > import sys
       
    27   > 
       
    28   > loop = int(sys.argv[1])
       
    29   > var = int(sys.argv[2])
       
    30   > for x in range(loop):
       
    31   >     print(x + random.randint(0, var))
       
    32   > EOF
       
    33 
       
    34 Check criss cross merge
       
    35 =======================
       
    36 
       
    37   $ hg init crisscross_A
       
    38   $ cd crisscross_A
       
    39   $ hg debugbuilddag '
       
    40   > ...:base         # create some base
       
    41   > # criss cross #1: simple
       
    42   > +3:AbaseA      # "A" branch for CC "A"
       
    43   > <base+2:AbaseB # "B" branch for CC "B"
       
    44   > <AbaseA/AbaseB:AmergeA
       
    45   > <AbaseB/AbaseA:AmergeB
       
    46   > <AmergeA/AmergeB:Afinal
       
    47   > # criss cross #2:multiple closes ones
       
    48   > .:BbaseA
       
    49   > <AmergeB:BbaseB
       
    50   > <BbaseA/BbaseB:BmergeA
       
    51   > <BbaseB/BbaseA:BmergeB
       
    52   > <BmergeA/BmergeB:BmergeC
       
    53   > <BmergeB/BmergeA:BmergeD
       
    54   > <BmergeC/BmergeD:Bfinal
       
    55   > # criss cross #2:many branches
       
    56   > <Bfinal.:CbaseA
       
    57   > <Bfinal+2:CbaseB
       
    58   > <Bfinal.:CbaseC
       
    59   > <Bfinal+5:CbaseD
       
    60   > <Bfinal.:CbaseE
       
    61   > <CbaseA/CbaseB+7:CmergeA
       
    62   > <CbaseA/CbaseC:CmergeB
       
    63   > <CbaseA/CbaseD.:CmergeC
       
    64   > <CbaseA/CbaseE:CmergeD
       
    65   > <CbaseB/CbaseA+2:CmergeE
       
    66   > <CbaseB/CbaseC:CmergeF
       
    67   > <CbaseB/CbaseD.:CmergeG
       
    68   > <CbaseB/CbaseE:CmergeH
       
    69   > <CbaseC/CbaseA.:CmergeI
       
    70   > <CbaseC/CbaseB:CmergeJ
       
    71   > <CbaseC/CbaseD+5:CmergeK
       
    72   > <CbaseC/CbaseE+2:CmergeL
       
    73   > <CbaseD/CbaseA:CmergeM
       
    74   > <CbaseD/CbaseB...:CmergeN
       
    75   > <CbaseD/CbaseC:CmergeO
       
    76   > <CbaseD/CbaseE:CmergeP
       
    77   > <CbaseE/CbaseA:CmergeQ
       
    78   > <CbaseE/CbaseB..:CmergeR
       
    79   > <CbaseE/CbaseC.:CmergeS
       
    80   > <CbaseE/CbaseD:CmergeT
       
    81   > <CmergeA/CmergeG:CmergeWA
       
    82   > <CmergeB/CmergeF:CmergeWB
       
    83   > <CmergeC/CmergeE:CmergeWC
       
    84   > <CmergeD/CmergeH:CmergeWD
       
    85   > <CmergeT/CmergeI:CmergeWE
       
    86   > <CmergeS/CmergeJ:CmergeWF
       
    87   > <CmergeR/CmergeK:CmergeWG
       
    88   > <CmergeQ/CmergeL:CmergeWH
       
    89   > <CmergeP/CmergeM:CmergeWI
       
    90   > <CmergeO/CmergeN:CmergeWJ
       
    91   > <CmergeO/CmergeN:CmergeWK
       
    92   > <CmergeWA/CmergeWG:CmergeXA
       
    93   > <CmergeWB/CmergeWH:CmergeXB
       
    94   > <CmergeWC/CmergeWI:CmergeXC
       
    95   > <CmergeWD/CmergeWJ:CmergeXD
       
    96   > <CmergeWE/CmergeWK:CmergeXE
       
    97   > <CmergeWF/CmergeWA:CmergeXF
       
    98   > <CmergeXA/CmergeXF:CmergeYA
       
    99   > <CmergeXB/CmergeXE:CmergeYB
       
   100   > <CmergeXC/CmergeXD:CmergeYC
       
   101   > <CmergeYA/CmergeYB:CmergeZA
       
   102   > <CmergeYC/CmergeYB:CmergeZB
       
   103   > <CmergeZA/CmergeZB:Cfinal
       
   104   > '
       
   105   $ hg log -G
       
   106   o    94 01f771406cab r94 Cfinal tip
       
   107   |\
       
   108   | o    93 84d6ec6a8e21 r93 CmergeZB
       
   109   | |\
       
   110   o | |  92 721ba7c5f4ff r92 CmergeZA
       
   111   |\| |
       
   112   | | o    91 8ae32c3ed670 r91 CmergeYC
       
   113   | | |\
       
   114   | o \ \    90 8b79544bb56d r90 CmergeYB
       
   115   | |\ \ \
       
   116   o \ \ \ \    89 041e1188f5f1 r89 CmergeYA
       
   117   |\ \ \ \ \
       
   118   | o \ \ \ \    88 2472d042ec95 r88 CmergeXF
       
   119   | |\ \ \ \ \
       
   120   | | | | o \ \    87 c7d3029bf731 r87 CmergeXE
       
   121   | | | | |\ \ \
       
   122   | | | | | | | o    86 469c700e9ed8 r86 CmergeXD
       
   123   | | | | | | | |\
       
   124   | | | | | | o \ \    85 28be96b80dc1 r85 CmergeXC
       
   125   | | | | | | |\ \ \
       
   126   | | | o \ \ \ \ \ \    84 dbde319d43a3 r84 CmergeXB
       
   127   | | | |\ \ \ \ \ \ \
       
   128   o | | | | | | | | | |  83 b3cf98c3d587 r83 CmergeXA
       
   129   |\| | | | | | | | | |
       
   130   | | | | | | o | | | |    82 1da228afcf06 r82 CmergeWK
       
   131   | | | | | | |\ \ \ \ \
       
   132   | | | | | | +-+-------o  81 0bab31f71a21 r81 CmergeWJ
       
   133   | | | | | | | | | | |
       
   134   | | | | | | | | | o |    80 cd345198cf12 r80 CmergeWI
       
   135   | | | | | | | | | |\ \
       
   136   | | | | o \ \ \ \ \ \ \    79 82238c0bc950 r79 CmergeWH
       
   137   | | | | |\ \ \ \ \ \ \ \
       
   138   o \ \ \ \ \ \ \ \ \ \ \ \    78 89a0fe204177 r78 CmergeWG
       
   139   |\ \ \ \ \ \ \ \ \ \ \ \ \
       
   140   | | | o \ \ \ \ \ \ \ \ \ \    77 97d19fc5236f r77 CmergeWF
       
   141   | | | |\ \ \ \ \ \ \ \ \ \ \
       
   142   | | | | | | | | o \ \ \ \ \ \    76 37ad3ab0cddf r76 CmergeWE
       
   143   | | | | | | | | |\ \ \ \ \ \ \
       
   144   | | | | | | | | | | | | | | | o    75 790cdfecd168 r75 CmergeWD
       
   145   | | | | | | | | | | | | | | | |\
       
   146   | | | | | | | | | | | | o \ \ \ \    74 698970a2480b r74 CmergeWC
       
   147   | | | | | | | | | | | | |\ \ \ \ \
       
   148   | | | | | o \ \ \ \ \ \ \ \ \ \ \ \    73 31d7b43cc321 r73 CmergeWB
       
   149   | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
       
   150   | | o \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \    72 eed373b0090d r72 CmergeWA
       
   151   | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
       
   152   | | | | | | | | | | | o \ \ \ \ \ \ \ \    71 4f3b41956174 r71 CmergeT
       
   153   | | | | | | | | | | | |\ \ \ \ \ \ \ \ \
       
   154   | | | | | o | | | | | | | | | | | | | | |  70 c3c7fa726f88 r70 CmergeS
       
   155   | | | | | | | | | | | | | | | | | | | | |
       
   156   | | | | | o-------------+ | | | | | | | |  69 d917f77a6439 r69
       
   157   | | | | | | | | | | | | | | | | | | | | |
       
   158   | o | | | | | | | | | | | | | | | | | | |  68 fac9e582edd1 r68 CmergeR
       
   159   | | | | | | | | | | | | | | | | | | | | |
       
   160   | o | | | | | | | | | | | | | | | | | | |  67 e4cfd6264623 r67
       
   161   | | | | | | | | | | | | | | | | | | | | |
       
   162   | o---------------------+ | | | | | | | |  66 d99e0f7dad5b r66
       
   163   | | | | | | | | | | | | | | | | | | | | |
       
   164   | | | | | | | | | o-----+ | | | | | | | |  65 c713eae2d31f r65 CmergeQ
       
   165   | | | | | | | | | | | | | | | | | | | | |
       
   166   | | | | | | | | | | | +-+-----------o | |  64 b33fd5ad4c0c r64 CmergeP
       
   167   | | | | | | | | | | | | | | | | | |  / /
       
   168   | | | | | +-----------+-----o | | | / /  63 bf6593f7e073 r63 CmergeO
       
   169   | | | | | | | | | | | | | |  / / / / /
       
   170   | | | | | | | | | | | | | o | | | | |  62 3871506da61e r62 CmergeN
       
   171   | | | | | | | | | | | | | | | | | | |
       
   172   | | | | | | | | | | | | | o | | | | |  61 c84da74cf586 r61
       
   173   | | | | | | | | | | | | | | | | | | |
       
   174   | | | | | | | | | | | | | o | | | | |  60 5eec91b12a58 r60
       
   175   | | | | | | | | | | | | | | | | | | |
       
   176   | +-------------------+---o | | | | |  59 0484d39906c8 r59
       
   177   | | | | | | | | | | | | |  / / / / /
       
   178   | | | | | | | | | +---+-------o / /  58 29141354a762 r58 CmergeM
       
   179   | | | | | | | | | | | | | | |  / /
       
   180   | | | | | | | | o | | | | | | | |  57 e7135b665740 r57 CmergeL
       
   181   | | | | | | | | | | | | | | | | |
       
   182   | | | | | | | | o | | | | | | | |  56 c7c1497fc270 r56
       
   183   | | | | | | | | | | | | | | | | |
       
   184   | | | | | +-----o-------+ | | | |  55 76151e8066e1 r55
       
   185   | | | | | | | |  / / / / / / / /
       
   186   o | | | | | | | | | | | | | | |  54 9a67238ad1c4 r54 CmergeK
       
   187   | | | | | | | | | | | | | | | |
       
   188   o | | | | | | | | | | | | | | |  53 c37e7cd9f2bd r53
       
   189   | | | | | | | | | | | | | | | |
       
   190   o | | | | | | | | | | | | | | |  52 0d153e3ad632 r52
       
   191   | | | | | | | | | | | | | | | |
       
   192   o | | | | | | | | | | | | | | |  51 97ac964e34b7 r51
       
   193   | | | | | | | | | | | | | | | |
       
   194   o | | | | | | | | | | | | | | |  50 900dd066a072 r50
       
   195   | | | | | | | | | | | | | | | |
       
   196   o---------+---------+ | | | | |  49 673f5499c8c2 r49
       
   197    / / / / / / / / / / / / / / /
       
   198   +-----o / / / / / / / / / / /  48 8ecb28746ec4 r48 CmergeJ
       
   199   | | | |/ / / / / / / / / / /
       
   200   | | | | | | | o | | | | | |  47 d6c9e2d27f14 r47 CmergeI
       
   201   | | | | | | | | | | | | | |
       
   202   | | | +-------o | | | | | |  46 bfcfd9a61e84 r46
       
   203   | | | | | | |/ / / / / / /
       
   204   +---------------+-------o  45 40553f55397e r45 CmergeH
       
   205   | | | | | | | | | | | |
       
   206   | | o | | | | | | | | |  44 d94da36be176 r44 CmergeG
       
   207   | | | | | | | | | | | |
       
   208   +---o---------+ | | | |  43 4b39f229a0ce r43
       
   209   | |  / / / / / / / / /
       
   210   +---+---o / / / / / /  42 43fc0b77ff07 r42 CmergeF
       
   211   | | | |  / / / / / /
       
   212   | | | | | | | | o |  41 88eace5ce682 r41 CmergeE
       
   213   | | | | | | | | | |
       
   214   | | | | | | | | o |  40 d928b4e8a515 r40
       
   215   | | | | | | | | | |
       
   216   +-------+-------o |  39 88714f4125cb r39
       
   217   | | | | | | | |  /
       
   218   | | | | +---+---o  38 e3e6738c56ce r38 CmergeD
       
   219   | | | | | | | |
       
   220   | | | | | | | o  37 32b41ca704e1 r37 CmergeC
       
   221   | | | | | | | |
       
   222   | | | | +-+---o  36 01e29e20ea3f r36
       
   223   | | | | | | |
       
   224   | | | o | | |  35 1f4a19f83a29 r35 CmergeB
       
   225   | | |/|/ / /
       
   226   | o | | | |  34 722d1b8b8942 r34 CmergeA
       
   227   | | | | | |
       
   228   | o | | | |  33 47c836a1f13e r33
       
   229   | | | | | |
       
   230   | o | | | |  32 2ea3fbf151b5 r32
       
   231   | | | | | |
       
   232   | o | | | |  31 0c3f2ba59eb7 r31
       
   233   | | | | | |
       
   234   | o | | | |  30 f3441cd3e664 r30
       
   235   | | | | | |
       
   236   | o | | | |  29 b9c3aa92fba5 r29
       
   237   | | | | | |
       
   238   | o | | | |  28 3bdb00d5c818 r28
       
   239   | | | | | |
       
   240   | o---+ | |  27 2bd677d0f13a r27
       
   241   |/ / / / /
       
   242   | | | | o  26 de05b9c29ec7 r26 CbaseE
       
   243   | | | | |
       
   244   | | | o |  25 ad46a4a0fc10 r25 CbaseD
       
   245   | | | | |
       
   246   | | | o |  24 a457569c5306 r24
       
   247   | | | | |
       
   248   | | | o |  23 f2bdd828a3aa r23
       
   249   | | | | |
       
   250   | | | o |  22 5ce588c2b7c5 r22
       
   251   | | | | |
       
   252   | | | o |  21 17b6e6bac221 r21
       
   253   | | | |/
       
   254   | o---+  20 b115c694654e r20 CbaseC
       
   255   |  / /
       
   256   o | |  19 884936b34999 r19 CbaseB
       
   257   | | |
       
   258   o---+  18 9729470d9329 r18
       
   259    / /
       
   260   o /  17 4f5078f7da8a r17 CbaseA
       
   261   |/
       
   262   o    16 3e1560705803 r16 Bfinal
       
   263   |\
       
   264   | o    15 55bf3fdb634f r15 BmergeD
       
   265   | |\
       
   266   o---+  14 39bab1cb1cbe r14 BmergeC
       
   267   |/ /
       
   268   | o    13 f7c6e7bfbcd0 r13 BmergeB
       
   269   | |\
       
   270   o---+  12 26f59ee8b1d7 r12 BmergeA
       
   271   |/ /
       
   272   | o  11 3e2da24aee59 r11 BbaseA
       
   273   | |
       
   274   | o  10 5ba9a53052ed r10 Afinal
       
   275   |/|
       
   276   o |    9 07c648efceeb r9 AmergeB BbaseB
       
   277   |\ \
       
   278   +---o  8 c81423bf5a24 r8 AmergeA
       
   279   | |/
       
   280   | o  7 65eb34ffc3a8 r7 AbaseB
       
   281   | |
       
   282   | o  6 0c1445abb33d r6
       
   283   | |
       
   284   o |  5 c8d03c1b5e94 r5 AbaseA
       
   285   | |
       
   286   o |  4 bebd167eb94d r4
       
   287   | |
       
   288   o |  3 2dc09a01254d r3
       
   289   |/
       
   290   o  2 01241442b3c2 r2 base
       
   291   |
       
   292   o  1 66f7d451a68b r1
       
   293   |
       
   294   o  0 1ea73414a91b r0
       
   295   
       
   296   $ hg debugdepth -r 'all()'
       
   297   1ea73414a91b 1
       
   298   66f7d451a68b 2
       
   299   01241442b3c2 3
       
   300   2dc09a01254d 4
       
   301   bebd167eb94d 5
       
   302   c8d03c1b5e94 6
       
   303   0c1445abb33d 4
       
   304   65eb34ffc3a8 5
       
   305   c81423bf5a24 9
       
   306   07c648efceeb 9
       
   307   5ba9a53052ed 11
       
   308   3e2da24aee59 12
       
   309   26f59ee8b1d7 13
       
   310   f7c6e7bfbcd0 13
       
   311   39bab1cb1cbe 15
       
   312   55bf3fdb634f 15
       
   313   3e1560705803 17
       
   314   4f5078f7da8a 18
       
   315   9729470d9329 18
       
   316   884936b34999 19
       
   317   b115c694654e 18
       
   318   17b6e6bac221 18
       
   319   5ce588c2b7c5 19
       
   320   f2bdd828a3aa 20
       
   321   a457569c5306 21
       
   322   ad46a4a0fc10 22
       
   323   de05b9c29ec7 18
       
   324   2bd677d0f13a 21
       
   325   3bdb00d5c818 22
       
   326   b9c3aa92fba5 23
       
   327   f3441cd3e664 24
       
   328   0c3f2ba59eb7 25
       
   329   2ea3fbf151b5 26
       
   330   47c836a1f13e 27
       
   331   722d1b8b8942 28
       
   332   1f4a19f83a29 20
       
   333   01e29e20ea3f 24
       
   334   32b41ca704e1 25
       
   335   e3e6738c56ce 20
       
   336   88714f4125cb 21
       
   337   d928b4e8a515 22
       
   338   88eace5ce682 23
       
   339   43fc0b77ff07 21
       
   340   4b39f229a0ce 25
       
   341   d94da36be176 26
       
   342   40553f55397e 21
       
   343   bfcfd9a61e84 20
       
   344   d6c9e2d27f14 21
       
   345   8ecb28746ec4 21
       
   346   673f5499c8c2 24
       
   347   900dd066a072 25
       
   348   97ac964e34b7 26
       
   349   0d153e3ad632 27
       
   350   c37e7cd9f2bd 28
       
   351   9a67238ad1c4 29
       
   352   76151e8066e1 20
       
   353   c7c1497fc270 21
       
   354   e7135b665740 22
       
   355   29141354a762 24
       
   356   0484d39906c8 25
       
   357   5eec91b12a58 26
       
   358   c84da74cf586 27
       
   359   3871506da61e 28
       
   360   bf6593f7e073 24
       
   361   b33fd5ad4c0c 24
       
   362   c713eae2d31f 20
       
   363   d99e0f7dad5b 21
       
   364   e4cfd6264623 22
       
   365   fac9e582edd1 23
       
   366   d917f77a6439 20
       
   367   c3c7fa726f88 21
       
   368   4f3b41956174 24
       
   369   eed373b0090d 36
       
   370   31d7b43cc321 24
       
   371   698970a2480b 31
       
   372   790cdfecd168 24
       
   373   37ad3ab0cddf 29
       
   374   97d19fc5236f 25
       
   375   89a0fe204177 36
       
   376   82238c0bc950 25
       
   377   cd345198cf12 27
       
   378   0bab31f71a21 31
       
   379   1da228afcf06 31
       
   380   b3cf98c3d587 49
       
   381   dbde319d43a3 31
       
   382   28be96b80dc1 36
       
   383   469c700e9ed8 37
       
   384   c7d3029bf731 38
       
   385   2472d042ec95 43
       
   386   041e1188f5f1 55
       
   387   8b79544bb56d 48
       
   388   8ae32c3ed670 48
       
   389   721ba7c5f4ff 77
       
   390   84d6ec6a8e21 65
       
   391   01f771406cab 95
       
   392 
       
   393 Basic check
       
   394 -----------
       
   395 
       
   396   $ hg showsort --rev 'Afinal'
       
   397   1ea73414a91b
       
   398   66f7d451a68b
       
   399   01241442b3c2
       
   400   0c1445abb33d
       
   401   65eb34ffc3a8
       
   402   2dc09a01254d
       
   403   bebd167eb94d
       
   404   c8d03c1b5e94
       
   405   07c648efceeb
       
   406   c81423bf5a24
       
   407   5ba9a53052ed
       
   408   $ checktopo Afinal
       
   409   === checking 1ea73414a91b ===
       
   410   === checking 66f7d451a68b ===
       
   411   === checking 01241442b3c2 ===
       
   412   === checking 0c1445abb33d ===
       
   413   === checking 65eb34ffc3a8 ===
       
   414   === checking 2dc09a01254d ===
       
   415   === checking bebd167eb94d ===
       
   416   === checking c8d03c1b5e94 ===
       
   417   === checking 07c648efceeb ===
       
   418   === checking c81423bf5a24 ===
       
   419   === checking 5ba9a53052ed ===
       
   420   $ hg showsort --rev 'AmergeA'
       
   421   1ea73414a91b
       
   422   66f7d451a68b
       
   423   01241442b3c2
       
   424   0c1445abb33d
       
   425   65eb34ffc3a8
       
   426   2dc09a01254d
       
   427   bebd167eb94d
       
   428   c8d03c1b5e94
       
   429   c81423bf5a24
       
   430   $ checktopo AmergeA
       
   431   === checking 1ea73414a91b ===
       
   432   === checking 66f7d451a68b ===
       
   433   === checking 01241442b3c2 ===
       
   434   === checking 0c1445abb33d ===
       
   435   === checking 65eb34ffc3a8 ===
       
   436   === checking 2dc09a01254d ===
       
   437   === checking bebd167eb94d ===
       
   438   === checking c8d03c1b5e94 ===
       
   439   === checking c81423bf5a24 ===
       
   440   $ hg showsort --rev 'AmergeB'
       
   441   1ea73414a91b
       
   442   66f7d451a68b
       
   443   01241442b3c2
       
   444   0c1445abb33d
       
   445   65eb34ffc3a8
       
   446   2dc09a01254d
       
   447   bebd167eb94d
       
   448   c8d03c1b5e94
       
   449   07c648efceeb
       
   450   $ checktopo AmergeB
       
   451   === checking 1ea73414a91b ===
       
   452   === checking 66f7d451a68b ===
       
   453   === checking 01241442b3c2 ===
       
   454   === checking 0c1445abb33d ===
       
   455   === checking 65eb34ffc3a8 ===
       
   456   === checking 2dc09a01254d ===
       
   457   === checking bebd167eb94d ===
       
   458   === checking c8d03c1b5e94 ===
       
   459   === checking 07c648efceeb ===
       
   460 
       
   461 close criss cross
       
   462   $ hg showsort --rev 'Bfinal'
       
   463   1ea73414a91b
       
   464   66f7d451a68b
       
   465   01241442b3c2
       
   466   0c1445abb33d
       
   467   65eb34ffc3a8
       
   468   2dc09a01254d
       
   469   bebd167eb94d
       
   470   c8d03c1b5e94
       
   471   07c648efceeb
       
   472   c81423bf5a24
       
   473   5ba9a53052ed
       
   474   3e2da24aee59
       
   475   26f59ee8b1d7
       
   476   f7c6e7bfbcd0
       
   477   39bab1cb1cbe
       
   478   55bf3fdb634f
       
   479   3e1560705803
       
   480   $ checktopo Bfinal
       
   481   === checking 1ea73414a91b ===
       
   482   === checking 66f7d451a68b ===
       
   483   === checking 01241442b3c2 ===
       
   484   === checking 0c1445abb33d ===
       
   485   === checking 65eb34ffc3a8 ===
       
   486   === checking 2dc09a01254d ===
       
   487   === checking bebd167eb94d ===
       
   488   === checking c8d03c1b5e94 ===
       
   489   === checking 07c648efceeb ===
       
   490   === checking c81423bf5a24 ===
       
   491   === checking 5ba9a53052ed ===
       
   492   === checking 3e2da24aee59 ===
       
   493   === checking 26f59ee8b1d7 ===
       
   494   === checking f7c6e7bfbcd0 ===
       
   495   === checking 39bab1cb1cbe ===
       
   496   === checking 55bf3fdb634f ===
       
   497   === checking 3e1560705803 ===
       
   498 
       
   499 many branches criss cross
       
   500 
       
   501   $ hg showsort --rev 'Cfinal'
       
   502   1ea73414a91b
       
   503   66f7d451a68b
       
   504   01241442b3c2
       
   505   0c1445abb33d
       
   506   65eb34ffc3a8
       
   507   2dc09a01254d
       
   508   bebd167eb94d
       
   509   c8d03c1b5e94
       
   510   07c648efceeb
       
   511   c81423bf5a24
       
   512   5ba9a53052ed
       
   513   3e2da24aee59
       
   514   26f59ee8b1d7
       
   515   f7c6e7bfbcd0
       
   516   39bab1cb1cbe
       
   517   55bf3fdb634f
       
   518   3e1560705803
       
   519   17b6e6bac221
       
   520   5ce588c2b7c5
       
   521   f2bdd828a3aa
       
   522   a457569c5306
       
   523   ad46a4a0fc10
       
   524   4f5078f7da8a
       
   525   01e29e20ea3f
       
   526   32b41ca704e1
       
   527   29141354a762
       
   528   9729470d9329
       
   529   884936b34999
       
   530   0484d39906c8
       
   531   5eec91b12a58
       
   532   c84da74cf586
       
   533   3871506da61e
       
   534   2bd677d0f13a
       
   535   3bdb00d5c818
       
   536   b9c3aa92fba5
       
   537   f3441cd3e664
       
   538   0c3f2ba59eb7
       
   539   2ea3fbf151b5
       
   540   47c836a1f13e
       
   541   722d1b8b8942
       
   542   4b39f229a0ce
       
   543   d94da36be176
       
   544   eed373b0090d
       
   545   88714f4125cb
       
   546   d928b4e8a515
       
   547   88eace5ce682
       
   548   698970a2480b
       
   549   b115c694654e
       
   550   1f4a19f83a29
       
   551   43fc0b77ff07
       
   552   31d7b43cc321
       
   553   673f5499c8c2
       
   554   900dd066a072
       
   555   97ac964e34b7
       
   556   0d153e3ad632
       
   557   c37e7cd9f2bd
       
   558   9a67238ad1c4
       
   559   8ecb28746ec4
       
   560   bf6593f7e073
       
   561   0bab31f71a21
       
   562   1da228afcf06
       
   563   bfcfd9a61e84
       
   564   d6c9e2d27f14
       
   565   de05b9c29ec7
       
   566   40553f55397e
       
   567   4f3b41956174
       
   568   37ad3ab0cddf
       
   569   c7d3029bf731
       
   570   76151e8066e1
       
   571   c7c1497fc270
       
   572   e7135b665740
       
   573   b33fd5ad4c0c
       
   574   cd345198cf12
       
   575   28be96b80dc1
       
   576   c713eae2d31f
       
   577   82238c0bc950
       
   578   dbde319d43a3
       
   579   8b79544bb56d
       
   580   d917f77a6439
       
   581   c3c7fa726f88
       
   582   97d19fc5236f
       
   583   2472d042ec95
       
   584   d99e0f7dad5b
       
   585   e4cfd6264623
       
   586   fac9e582edd1
       
   587   89a0fe204177
       
   588   b3cf98c3d587
       
   589   041e1188f5f1
       
   590   721ba7c5f4ff
       
   591   e3e6738c56ce
       
   592   790cdfecd168
       
   593   469c700e9ed8
       
   594   8ae32c3ed670
       
   595   84d6ec6a8e21
       
   596   01f771406cab
       
   597   $ checktopo Cfinal
       
   598   === checking 1ea73414a91b ===
       
   599   === checking 66f7d451a68b ===
       
   600   === checking 01241442b3c2 ===
       
   601   === checking 0c1445abb33d ===
       
   602   === checking 65eb34ffc3a8 ===
       
   603   === checking 2dc09a01254d ===
       
   604   === checking bebd167eb94d ===
       
   605   === checking c8d03c1b5e94 ===
       
   606   === checking 07c648efceeb ===
       
   607   === checking c81423bf5a24 ===
       
   608   === checking 5ba9a53052ed ===
       
   609   === checking 3e2da24aee59 ===
       
   610   === checking 26f59ee8b1d7 ===
       
   611   === checking f7c6e7bfbcd0 ===
       
   612   === checking 39bab1cb1cbe ===
       
   613   === checking 55bf3fdb634f ===
       
   614   === checking 3e1560705803 ===
       
   615   === checking 17b6e6bac221 ===
       
   616   === checking 5ce588c2b7c5 ===
       
   617   === checking f2bdd828a3aa ===
       
   618   === checking a457569c5306 ===
       
   619   === checking ad46a4a0fc10 ===
       
   620   === checking 4f5078f7da8a ===
       
   621   === checking 01e29e20ea3f ===
       
   622   === checking 32b41ca704e1 ===
       
   623   === checking 29141354a762 ===
       
   624   === checking 9729470d9329 ===
       
   625   === checking 884936b34999 ===
       
   626   === checking 0484d39906c8 ===
       
   627   === checking 5eec91b12a58 ===
       
   628   === checking c84da74cf586 ===
       
   629   === checking 3871506da61e ===
       
   630   === checking 2bd677d0f13a ===
       
   631   === checking 3bdb00d5c818 ===
       
   632   === checking b9c3aa92fba5 ===
       
   633   === checking f3441cd3e664 ===
       
   634   === checking 0c3f2ba59eb7 ===
       
   635   === checking 2ea3fbf151b5 ===
       
   636   === checking 47c836a1f13e ===
       
   637   === checking 722d1b8b8942 ===
       
   638   === checking 4b39f229a0ce ===
       
   639   === checking d94da36be176 ===
       
   640   === checking eed373b0090d ===
       
   641   === checking 88714f4125cb ===
       
   642   === checking d928b4e8a515 ===
       
   643   === checking 88eace5ce682 ===
       
   644   === checking 698970a2480b ===
       
   645   === checking b115c694654e ===
       
   646   === checking 1f4a19f83a29 ===
       
   647   === checking 43fc0b77ff07 ===
       
   648   === checking 31d7b43cc321 ===
       
   649   === checking 673f5499c8c2 ===
       
   650   === checking 900dd066a072 ===
       
   651   === checking 97ac964e34b7 ===
       
   652   === checking 0d153e3ad632 ===
       
   653   === checking c37e7cd9f2bd ===
       
   654   === checking 9a67238ad1c4 ===
       
   655   === checking 8ecb28746ec4 ===
       
   656   === checking bf6593f7e073 ===
       
   657   === checking 0bab31f71a21 ===
       
   658   === checking 1da228afcf06 ===
       
   659   === checking bfcfd9a61e84 ===
       
   660   === checking d6c9e2d27f14 ===
       
   661   === checking de05b9c29ec7 ===
       
   662   === checking 40553f55397e ===
       
   663   === checking 4f3b41956174 ===
       
   664   === checking 37ad3ab0cddf ===
       
   665   === checking c7d3029bf731 ===
       
   666   === checking 76151e8066e1 ===
       
   667   === checking c7c1497fc270 ===
       
   668   === checking e7135b665740 ===
       
   669   === checking b33fd5ad4c0c ===
       
   670   === checking cd345198cf12 ===
       
   671   === checking 28be96b80dc1 ===
       
   672   === checking c713eae2d31f ===
       
   673   === checking 82238c0bc950 ===
       
   674   === checking dbde319d43a3 ===
       
   675   === checking 8b79544bb56d ===
       
   676   === checking d917f77a6439 ===
       
   677   === checking c3c7fa726f88 ===
       
   678   === checking 97d19fc5236f ===
       
   679   === checking 2472d042ec95 ===
       
   680   === checking d99e0f7dad5b ===
       
   681   === checking e4cfd6264623 ===
       
   682   === checking fac9e582edd1 ===
       
   683   === checking 89a0fe204177 ===
       
   684   === checking b3cf98c3d587 ===
       
   685   === checking 041e1188f5f1 ===
       
   686   === checking 721ba7c5f4ff ===
       
   687   === checking e3e6738c56ce ===
       
   688   === checking 790cdfecd168 ===
       
   689   === checking 469c700e9ed8 ===
       
   690   === checking 8ae32c3ed670 ===
       
   691   === checking 84d6ec6a8e21 ===
       
   692   === checking 01f771406cab ===
       
   693 
       
   694 Test stability of this mess
       
   695 ---------------------------
       
   696 
       
   697   $ hg log -r tip
       
   698   94 01f771406cab r94 Cfinal tip
       
   699   $ hg showsort --rev 'all()' > ../crisscross.source.order
       
   700   $ cd ..
       
   701 
       
   702   $ hg clone crisscross_A crisscross_random --rev 0
       
   703   adding changesets
       
   704   adding manifests
       
   705   adding file changes
       
   706   added 1 changesets with 0 changes to 0 files
       
   707   new changesets 1ea73414a91b
       
   708   updating to branch default
       
   709   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   710   $ cd crisscross_random
       
   711   $ for x in `python ../random_rev.py 50 44`; do
       
   712   >   # using python to benefit from the random seed
       
   713   >   hg pull -r $x --quiet
       
   714   > done;
       
   715   $ hg pull --quiet
       
   716 
       
   717   $ hg showsort --rev 'all()' > ../crisscross.random.order
       
   718   $ python "$RUNTESTDIR/md5sum.py" ../crisscross.*.order
       
   719   d9aab0d1907d5cf64d205a8b9036e959  ../crisscross.random.order
       
   720   d9aab0d1907d5cf64d205a8b9036e959  ../crisscross.source.order
       
   721   $ diff -u ../crisscross.*.order
       
   722   $ hg showsort --rev 'all()'
       
   723   1ea73414a91b
       
   724   66f7d451a68b
       
   725   01241442b3c2
       
   726   0c1445abb33d
       
   727   65eb34ffc3a8
       
   728   2dc09a01254d
       
   729   bebd167eb94d
       
   730   c8d03c1b5e94
       
   731   07c648efceeb
       
   732   c81423bf5a24
       
   733   5ba9a53052ed
       
   734   3e2da24aee59
       
   735   26f59ee8b1d7
       
   736   f7c6e7bfbcd0
       
   737   39bab1cb1cbe
       
   738   55bf3fdb634f
       
   739   3e1560705803
       
   740   17b6e6bac221
       
   741   5ce588c2b7c5
       
   742   f2bdd828a3aa
       
   743   a457569c5306
       
   744   ad46a4a0fc10
       
   745   4f5078f7da8a
       
   746   01e29e20ea3f
       
   747   32b41ca704e1
       
   748   29141354a762
       
   749   9729470d9329
       
   750   884936b34999
       
   751   0484d39906c8
       
   752   5eec91b12a58
       
   753   c84da74cf586
       
   754   3871506da61e
       
   755   2bd677d0f13a
       
   756   3bdb00d5c818
       
   757   b9c3aa92fba5
       
   758   f3441cd3e664
       
   759   0c3f2ba59eb7
       
   760   2ea3fbf151b5
       
   761   47c836a1f13e
       
   762   722d1b8b8942
       
   763   4b39f229a0ce
       
   764   d94da36be176
       
   765   eed373b0090d
       
   766   88714f4125cb
       
   767   d928b4e8a515
       
   768   88eace5ce682
       
   769   698970a2480b
       
   770   b115c694654e
       
   771   1f4a19f83a29
       
   772   43fc0b77ff07
       
   773   31d7b43cc321
       
   774   673f5499c8c2
       
   775   900dd066a072
       
   776   97ac964e34b7
       
   777   0d153e3ad632
       
   778   c37e7cd9f2bd
       
   779   9a67238ad1c4
       
   780   8ecb28746ec4
       
   781   bf6593f7e073
       
   782   0bab31f71a21
       
   783   1da228afcf06
       
   784   bfcfd9a61e84
       
   785   d6c9e2d27f14
       
   786   de05b9c29ec7
       
   787   40553f55397e
       
   788   4f3b41956174
       
   789   37ad3ab0cddf
       
   790   c7d3029bf731
       
   791   76151e8066e1
       
   792   c7c1497fc270
       
   793   e7135b665740
       
   794   b33fd5ad4c0c
       
   795   cd345198cf12
       
   796   28be96b80dc1
       
   797   c713eae2d31f
       
   798   82238c0bc950
       
   799   dbde319d43a3
       
   800   8b79544bb56d
       
   801   d917f77a6439
       
   802   c3c7fa726f88
       
   803   97d19fc5236f
       
   804   2472d042ec95
       
   805   d99e0f7dad5b
       
   806   e4cfd6264623
       
   807   fac9e582edd1
       
   808   89a0fe204177
       
   809   b3cf98c3d587
       
   810   041e1188f5f1
       
   811   721ba7c5f4ff
       
   812   e3e6738c56ce
       
   813   790cdfecd168
       
   814   469c700e9ed8
       
   815   8ae32c3ed670
       
   816   84d6ec6a8e21
       
   817   01f771406cab