tests/test-exchange-obsmarkers-case-C3.t
changeset 31967 9316d27c4b1a
child 33542 b11e8c67fb0f
equal deleted inserted replaced
31966:8b98acaefc55 31967:9316d27c4b1a
       
     1 ============================================
       
     2 Testing obsolescence markers push: Cases C.3
       
     3 ============================================
       
     4 
       
     5 Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of
       
     6 all changesets that requested to be "in sync" after the push (even if they are
       
     7 already on both side).
       
     8 
       
     9 This test belongs to a series of tests checking such set is properly computed
       
    10 and applied. This does not tests "obsmarkers" discovery capabilities.
       
    11 
       
    12 Category C: advanced case
       
    13 TestCase 3: Pruned changeset on precursors of another pruned one
       
    14 Variants:
       
    15 # a: explicite push
       
    16 # b: bare push
       
    17 
       
    18 C.3 Pruned changeset on precursors of another pruned one
       
    19 ========================================================
       
    20 
       
    21 .. {{{
       
    22 ..   B ⊗
       
    23 ..     |
       
    24 ..   A ø⇠⊗ A'
       
    25 ..     |/
       
    26 ..     ● O
       
    27 .. }}}
       
    28 ..
       
    29 .. Marker exist from:
       
    30 ..
       
    31 ..  * A' succeed to A
       
    32 ..  * A' (prune
       
    33 ..  * B (prune)
       
    34 ..
       
    35 .. Command run:
       
    36 ..
       
    37 ..  * hg push -r A'
       
    38 ..  * hg push
       
    39 ..
       
    40 .. Expected exchange:
       
    41 ..
       
    42 ..  * `A ø⇠⊗ A'`
       
    43 ..  * A (prune)
       
    44 ..  * B (prune)
       
    45 
       
    46 Setup
       
    47 -----
       
    48 
       
    49   $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
       
    50 
       
    51 Initial
       
    52 
       
    53   $ setuprepos C.3
       
    54   creating test repo for test case C.3
       
    55   - pulldest
       
    56   - main
       
    57   - pushdest
       
    58   cd into `main` and proceed with env setup
       
    59   $ cd main
       
    60   $ mkcommit A0
       
    61   $ mkcommit B
       
    62   $ hg prune -qd '0 0' .
       
    63   $ hg update -q 0
       
    64   $ mkcommit A1
       
    65   created new head
       
    66   $ hg debugobsolete `getid 'desc(A0)'` `getid 'desc(A1)'`
       
    67   $ hg prune -qd '0 0' .
       
    68   $ hg log -G --hidden
       
    69   x  e5ea8f9c7314 (draft): A1
       
    70   |
       
    71   | x  06055a7959d4 (draft): B
       
    72   | |
       
    73   | x  28b51eb45704 (draft): A0
       
    74   |/
       
    75   @  a9bdc8b26820 (public): O
       
    76   
       
    77   $ inspect_obsmarkers
       
    78   obsstore content
       
    79   ================
       
    80   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    81   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    82   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    83   $ cd ..
       
    84   $ cd ..
       
    85 
       
    86   $ cp -R C.3 C.3.a
       
    87   $ cp -R C.3 C.3.b
       
    88 
       
    89 Actual Test (explicit push)
       
    90 ---------------------------
       
    91 
       
    92   $ dotest C.3.a O
       
    93   ## Running testcase C.3.a
       
    94   # testing echange of "O" (a9bdc8b26820)
       
    95   ## initial state
       
    96   # obstore: main
       
    97   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    98   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    99   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   100   # obstore: pushdest
       
   101   # obstore: pulldest
       
   102   ## pushing "O" from main to pushdest
       
   103   pushing to pushdest
       
   104   searching for changes
       
   105   no changes found
       
   106   remote: 3 new obsolescence markers
       
   107   ## post push state
       
   108   # obstore: main
       
   109   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   110   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   111   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   112   # obstore: pushdest
       
   113   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   114   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   115   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   116   # obstore: pulldest
       
   117   ## pulling "a9bdc8b26820" from main into pulldest
       
   118   pulling from main
       
   119   no changes found
       
   120   3 new obsolescence markers
       
   121   ## post pull state
       
   122   # obstore: main
       
   123   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   124   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   125   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   126   # obstore: pushdest
       
   127   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   128   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   129   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   130   # obstore: pulldest
       
   131   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   132   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   133   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   134 
       
   135 Actual Test (bare push)
       
   136 -------------------------------------
       
   137 
       
   138   $ dotest C.3.b
       
   139   ## Running testcase C.3.b
       
   140   ## initial state
       
   141   # obstore: main
       
   142   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   143   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   144   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   145   # obstore: pushdest
       
   146   # obstore: pulldest
       
   147   ## pushing from main to pushdest
       
   148   pushing to pushdest
       
   149   searching for changes
       
   150   no changes found
       
   151   remote: 3 new obsolescence markers
       
   152   ## post push state
       
   153   # obstore: main
       
   154   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   155   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   156   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   157   # obstore: pushdest
       
   158   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   159   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   160   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   161   # obstore: pulldest
       
   162   ## pulling from main into pulldest
       
   163   pulling from main
       
   164   searching for changes
       
   165   no changes found
       
   166   3 new obsolescence markers
       
   167   ## post pull state
       
   168   # obstore: main
       
   169   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   170   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   171   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   172   # obstore: pushdest
       
   173   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   174   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   175   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   176   # obstore: pulldest
       
   177   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   178   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   179   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}