tests/test-exchange-obsmarkers-case-B7.t
changeset 31919 2bf73e351eb1
equal deleted inserted replaced
31918:68dc2ecabf31 31919:2bf73e351eb1
       
     1 ============================================
       
     2 Testing obsolescence markers push: Cases B.7
       
     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 B: pruning case
       
    13 TestCase 7: Prune on non-targeted common changeset
       
    14 
       
    15 B.7 Prune above non-targeted common changeset
       
    16 =============================================
       
    17 
       
    18 .. (very similar to B1, but the prune changeset is unknown on remote)
       
    19 ..
       
    20 .. {{{
       
    21 ..     ⊗ B
       
    22 ..     |
       
    23 ..     ◕ A
       
    24 ..     |
       
    25 ..     ● O
       
    26 .. }}}
       
    27 ..
       
    28 .. Marker exist from:
       
    29 ..
       
    30 ..  * B (prune)
       
    31 ..
       
    32 .. Command runs:
       
    33 ..
       
    34 ..  * hg push -r O
       
    35 ..
       
    36 .. Expected exclude:
       
    37 ..
       
    38 ..  * B (prune)
       
    39 
       
    40 Setup
       
    41 -----
       
    42 
       
    43   $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
       
    44 
       
    45 Initial
       
    46 
       
    47   $ setuprepos B.7
       
    48   creating test repo for test case B.7
       
    49   - pulldest
       
    50   - main
       
    51   - pushdest
       
    52   cd into `main` and proceed with env setup
       
    53   $ cd main
       
    54   $ mkcommit A
       
    55   $ hg push -q ../pushdest
       
    56   $ hg push -q ../pulldest
       
    57   $ mkcommit B
       
    58   $ hg prune -qd '0 0' .
       
    59   $ hg log -G --hidden
       
    60   x  f6fbb35d8ac9 (draft): B
       
    61   |
       
    62   @  f5bc6836db60 (draft): A
       
    63   |
       
    64   o  a9bdc8b26820 (public): O
       
    65   
       
    66   $ inspect_obsmarkers
       
    67   obsstore content
       
    68   ================
       
    69   f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    70   $ cd ..
       
    71   $ cd ..
       
    72 
       
    73 Actual Test
       
    74 -------------------------------------
       
    75 
       
    76   $ dotest B.7 O
       
    77   ## Running testcase B.7
       
    78   # testing echange of "O" (a9bdc8b26820)
       
    79   ## initial state
       
    80   # obstore: main
       
    81   f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    82   # obstore: pushdest
       
    83   # obstore: pulldest
       
    84   ## pushing "O" from main to pushdest
       
    85   pushing to pushdest
       
    86   searching for changes
       
    87   no changes found
       
    88   ## post push state
       
    89   # obstore: main
       
    90   f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    91   # obstore: pushdest
       
    92   # obstore: pulldest
       
    93   ## pulling "a9bdc8b26820" from main into pulldest
       
    94   pulling from main
       
    95   no changes found
       
    96   ## post pull state
       
    97   # obstore: main
       
    98   f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    99   # obstore: pushdest
       
   100   # obstore: pulldest