tests/test-exchange-B5.t
branchmercurial-4.0
changeset 2278 2db189baf8b7
parent 2260 e200dbfb4515
parent 2277 61d885899466
child 2279 347849e17876
child 2318 523855eb28c1
equal deleted inserted replaced
2260:e200dbfb4515 2278:2db189baf8b7
     1 
       
     2 
       
     3 
       
     4 Initial setup
       
     5 
       
     6   $ . $TESTDIR/testlib/exchange-util.sh
       
     7 
       
     8 
       
     9 === B.5 Push of a children of changeset which successors is pruned ===
       
    10 
       
    11 .. This case Mirror A.4, with pruned changeset successors.
       
    12 ..
       
    13 .. {{{
       
    14 ..   B ◔
       
    15 ..     |
       
    16 ..   A⇠ø⇠⊗ A'
       
    17 ..     |/
       
    18 ..     ● O
       
    19 .. }}}
       
    20 ..
       
    21 .. Marker exist from:
       
    22 ..
       
    23 ..  * `Aø⇠○ A'`
       
    24 ..  * chain from A
       
    25 ..  * `A'`
       
    26 ..
       
    27 .. Command run:
       
    28 ..
       
    29 ..  * hg push -r B
       
    30 ..
       
    31 .. Expected exchange:
       
    32 ..
       
    33 ..  * `Aø⇠○ A'`
       
    34 ..  * chain from A
       
    35 ..  * `A'`
       
    36 ..
       
    37 .. Extra Note:
       
    38 ..
       
    39 ..   I'm not totally happy about this case and I believe some more complicated
       
    40 ..   graph can result in behavior wuite confusing for the user (if some tool create
       
    41 ..   prune maker in a the middle of a valid chain)
       
    42 
       
    43   $ setuprepos B.5
       
    44   creating test repo for test case B.5
       
    45   - pulldest
       
    46   - main
       
    47   - pushdest
       
    48   cd into `main` and proceed with env setup
       
    49   $ cd main
       
    50   $ mkcommit A0
       
    51   $ mkcommit B
       
    52   $ hg up --quiet 0
       
    53   $ mkcommit A1
       
    54   created new head
       
    55   $ hg debugobsolete --hidden `getid 'desc(A0)'` `getid 'desc(A1)'`
       
    56   $ hg prune -qd '0 0' .
       
    57   $ hg log -G --hidden
       
    58   x  e5ea8f9c7314 (draft): A1
       
    59   |
       
    60   | o  06055a7959d4 (draft): B
       
    61   | |
       
    62   | x  28b51eb45704 (draft): A0
       
    63   |/
       
    64   @  a9bdc8b26820 (public): O
       
    65   
       
    66   $ hg debugobsolete
       
    67   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    68   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    69   $ hg debugobsrelsethashtree
       
    70   a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 554c0b12f7d9fff20cb904c26e12eee337e3309c
       
    71   28b51eb45704506b5c603decd6bf7ac5e0f6a52f 5c81c58ce0a8ad61dd9cf4c6949846b5990af30d
       
    72   06055a7959d4128e6e3bccfd01482e83a2db8a3a 201e20697f2a6b0752335af7cd813f140e9e653e
       
    73   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 ae1ac676a5e6d6f4216595c53da763d588929970
       
    74   $ hg debugobshashrange --subranges --rev 'head()'
       
    75            rev         node        index         size        depth      obshash
       
    76              2 06055a7959d4            0            3            3 000000000000
       
    77              1 28b51eb45704            0            2            2 000000000000
       
    78              2 06055a7959d4            2            1            3 000000000000
       
    79              1 28b51eb45704            1            1            2 000000000000
       
    80              0 a9bdc8b26820            0            1            1 554c0b12f7d9
       
    81   $ cd ..
       
    82   $ cd ..
       
    83 
       
    84   $ cp -r B.5 B.5.a
       
    85   $ cp -r B.5 B.5.b
       
    86 
       
    87 Actual Test (explicit push version)
       
    88 -----------------------------------
       
    89 
       
    90   $ dotest B.5.a B -f
       
    91   ## Running testcase B.5.a
       
    92   # testing echange of "B" (06055a7959d4)
       
    93   ## initial state
       
    94   # obstore: main
       
    95   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    96   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    97   # obstore: pushdest
       
    98   # obstore: pulldest
       
    99   ## pushing "B" from main to pushdest
       
   100   pushing to pushdest
       
   101   searching for changes
       
   102   remote: adding changesets
       
   103   remote: adding manifests
       
   104   remote: adding file changes
       
   105   remote: added 2 changesets with 2 changes to 2 files
       
   106   remote: 2 new obsolescence markers
       
   107   ## post push state
       
   108   # obstore: main
       
   109   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   110   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   111   # obstore: pushdest
       
   112   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   113   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   114   # obstore: pulldest
       
   115   ## pulling "06055a7959d4" from main into pulldest
       
   116   pulling from main
       
   117   searching for changes
       
   118   adding changesets
       
   119   adding manifests
       
   120   adding file changes
       
   121   added 2 changesets with 2 changes to 2 files
       
   122   2 new obsolescence markers
       
   123   (run 'hg update' to get a working copy)
       
   124   1 new unstable changesets
       
   125   ## post pull state
       
   126   # obstore: main
       
   127   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   128   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   129   # obstore: pushdest
       
   130   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   131   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   132   # obstore: pulldest
       
   133   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   134   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   135 
       
   136 Actual Test (bare push version)
       
   137 -------------------------------------
       
   138 
       
   139   $ dotest B.5.b B -f
       
   140   ## Running testcase B.5.b
       
   141   # testing echange of "B" (06055a7959d4)
       
   142   ## initial state
       
   143   # obstore: main
       
   144   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   145   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   146   # obstore: pushdest
       
   147   # obstore: pulldest
       
   148   ## pushing "B" from main to pushdest
       
   149   pushing to pushdest
       
   150   searching for changes
       
   151   remote: adding changesets
       
   152   remote: adding manifests
       
   153   remote: adding file changes
       
   154   remote: added 2 changesets with 2 changes to 2 files
       
   155   remote: 2 new obsolescence markers
       
   156   ## post push state
       
   157   # obstore: main
       
   158   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   159   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   160   # obstore: pushdest
       
   161   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   162   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   163   # obstore: pulldest
       
   164   ## pulling "06055a7959d4" from main into pulldest
       
   165   pulling from main
       
   166   searching for changes
       
   167   adding changesets
       
   168   adding manifests
       
   169   adding file changes
       
   170   added 2 changesets with 2 changes to 2 files
       
   171   2 new obsolescence markers
       
   172   (run 'hg update' to get a working copy)
       
   173   1 new unstable changesets
       
   174   ## post pull state
       
   175   # obstore: main
       
   176   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   177   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   178   # obstore: pushdest
       
   179   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   180   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   181   # obstore: pulldest
       
   182   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   183   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}