tests/test-exchange-obsmarkers-case-B2.t
branchmercurial-3.9
changeset 2279 347849e17876
parent 2268 f2ebe960998b
child 2525 5adb8bdb935e
equal deleted inserted replaced
2261:3e339f6717c7 2279:347849e17876
       
     1 ============================================
       
     2 Testing obsolescence markers push: Cases B.2
       
     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 2: Prune on targeted common changeset
       
    14 Variants:
       
    15 # a: explicite push
       
    16 # b: bare push
       
    17 
       
    18 B.2 Pruned changeset on head: nothing pushed
       
    19 ============================================
       
    20 
       
    21 .. {{{
       
    22 ..     ⊗ A
       
    23 ..     |
       
    24 ..     ● O
       
    25 .. }}}
       
    26 ..
       
    27 .. Marker exist from:
       
    28 ..
       
    29 ..  * A (prune)
       
    30 ..
       
    31 .. Command run:
       
    32 ..
       
    33 ..  * hg push -r O
       
    34 ..  * hg push
       
    35 ..
       
    36 .. Expected exchange:
       
    37 ..
       
    38 ..  * prune marker for A
       
    39 
       
    40 Setup
       
    41 -----
       
    42 
       
    43   $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
       
    44 
       
    45 Initial
       
    46 
       
    47   $ setuprepos B.2
       
    48   creating test repo for test case B.2
       
    49   - pulldest
       
    50   - main
       
    51   - pushdest
       
    52   cd into `main` and proceed with env setup
       
    53   $ cd main
       
    54   $ mkcommit A
       
    55   $ hg prune -qd '0 0' .
       
    56   $ hg log -G --hidden
       
    57   x  f5bc6836db60 (draft): A
       
    58   |
       
    59   @  a9bdc8b26820 (public): O
       
    60   
       
    61   $ inspect_obsmarkers
       
    62   obsstore content
       
    63   ================
       
    64   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    65   obshashtree
       
    66   ===========
       
    67   a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 52a5380bc04783a9ad43bb2ab2f47a02ef02adcc
       
    68   f5bc6836db60e308a17ba08bf050154ba9c4fad7 c5a567339e205e8cc4c494e4fb82944daaec449c
       
    69   obshashrange
       
    70   ============
       
    71            rev         node        index         size        depth      obshash
       
    72              0 a9bdc8b26820            0            1            1 52a5380bc047
       
    73   $ cd ..
       
    74   $ cd ..
       
    75 
       
    76   $ cp -R B.2 B.2.a
       
    77   $ cp -R B.2 B.2.b
       
    78 
       
    79 Actual Test (explicit push version)
       
    80 -----------------------------------
       
    81 
       
    82   $ dotest B.2.a O
       
    83   ## Running testcase B.2.a
       
    84   # testing echange of "O" (a9bdc8b26820)
       
    85   ## initial state
       
    86   # obstore: main
       
    87   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    88   # obstore: pushdest
       
    89   # obstore: pulldest
       
    90   ## pushing "O" from main to pushdest
       
    91   pushing to pushdest
       
    92   searching for changes
       
    93   no changes found
       
    94   remote: 1 new obsolescence markers
       
    95   ## post push state
       
    96   # obstore: main
       
    97   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    98   # obstore: pushdest
       
    99   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   100   # obstore: pulldest
       
   101   ## pulling "a9bdc8b26820" from main into pulldest
       
   102   pulling from main
       
   103   no changes found
       
   104   1 new obsolescence markers
       
   105   ## post pull state
       
   106   # obstore: main
       
   107   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   108   # obstore: pushdest
       
   109   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   110   # obstore: pulldest
       
   111   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   112 
       
   113 Actual Test (bare push version)
       
   114 -----------------------------------
       
   115 
       
   116   $ dotest B.2.b
       
   117   ## Running testcase B.2.b
       
   118   ## initial state
       
   119   # obstore: main
       
   120   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   121   # obstore: pushdest
       
   122   # obstore: pulldest
       
   123   ## pushing from main to pushdest
       
   124   pushing to pushdest
       
   125   searching for changes
       
   126   no changes found
       
   127   remote: 1 new obsolescence markers
       
   128   ## post push state
       
   129   # obstore: main
       
   130   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   131   # obstore: pushdest
       
   132   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   133   # obstore: pulldest
       
   134   ## pulling from main into pulldest
       
   135   pulling from main
       
   136   searching for changes
       
   137   no changes found
       
   138   1 new obsolescence markers
       
   139   ## post pull state
       
   140   # obstore: main
       
   141   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   142   # obstore: pushdest
       
   143   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   144   # obstore: pulldest
       
   145   f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}