tests/test-exchange-obsmarkers-case-D4.t
branchstable
changeset 2268 f2ebe960998b
parent 2267 150fee60887a
child 2580 51a1dd295fe0
equal deleted inserted replaced
2267:150fee60887a 2268:f2ebe960998b
       
     1 ============================================
       
     2 Testing obsolescence markers push: Cases D.4
       
     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 D: Partial Information Case
       
    13 TestCase 4: Unknown changeset in between known changesets
       
    14 
       
    15 D.4 Unknown changeset in between known one
       
    16 ==========================================
       
    17 
       
    18 .. Mostly a clarification case
       
    19 ..
       
    20 .. {{{
       
    21 ..   B ø⇠◌⇠○ B''
       
    22 ..     |   |
       
    23 ..   A ø⇠◌⇠◔ A'
       
    24 ..      \ /
       
    25 ..       ● O
       
    26 ..
       
    27 .. }}}
       
    28 ..
       
    29 .. Should be treated as A.3 case:
       
    30 ..
       
    31 .. {{{
       
    32 ..
       
    33 ..   B ø⇠○ B''
       
    34 ..     | |
       
    35 ..   A ø⇠◔ A'
       
    36 ..     |/
       
    37 ..     ● O
       
    38 ..
       
    39 .. }}}
       
    40 
       
    41 Setup
       
    42 -----
       
    43 
       
    44   $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
       
    45 
       
    46 initial
       
    47 
       
    48   $ setuprepos D.4
       
    49   creating test repo for test case D.4
       
    50   - pulldest
       
    51   - main
       
    52   - pushdest
       
    53   cd into `main` and proceed with env setup
       
    54   $ cd main
       
    55   $ mkcommit A0
       
    56   $ mkcommit B0
       
    57   $ hg update -q 0
       
    58   $ mkcommit A1
       
    59   created new head
       
    60   $ mkcommit B1
       
    61   $ hg debugobsolete `getid 'desc(A0)'` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
    62   $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A1)'`
       
    63   $ hg debugobsolete `getid 'desc(B0)'` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
       
    64   $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb `getid 'desc(B1)'`
       
    65   $ hg log -G --hidden
       
    66   @  069b05c3876d (draft): B1
       
    67   |
       
    68   o  e5ea8f9c7314 (draft): A1
       
    69   |
       
    70   | x  6e72f0a95b5e (draft): B0
       
    71   | |
       
    72   | x  28b51eb45704 (draft): A0
       
    73   |/
       
    74   o  a9bdc8b26820 (public): O
       
    75   
       
    76   $ inspect_obsmarkers
       
    77   obsstore content
       
    78   ================
       
    79   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    80   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    81   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    82   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    83   obshashtree
       
    84   ===========
       
    85   a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 0000000000000000000000000000000000000000
       
    86   28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0000000000000000000000000000000000000000
       
    87   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0000000000000000000000000000000000000000
       
    88   e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0aacc2f86e8fca29f2d5fd8d0790644620acd58a
       
    89   069b05c3876d56f62895e853a501ea58ea85f68d 40b98bc2b5b1152416ea8e9665ae1c6a3ce32ba0
       
    90   obshashrange
       
    91   ============
       
    92            rev         node        index         size        depth      obshash
       
    93              4 069b05c3876d            0            3            3 a2b2331da650
       
    94              3 e5ea8f9c7314            0            2            2 0aacc2f86e8f
       
    95              4 069b05c3876d            2            1            3 901f118d4333
       
    96              0 a9bdc8b26820            0            1            1 000000000000
       
    97              3 e5ea8f9c7314            1            1            2 0aacc2f86e8f
       
    98   $ cd ..
       
    99   $ cd ..
       
   100 
       
   101 Actual Test
       
   102 -----------
       
   103 
       
   104   $ dotest D.4 A1
       
   105   ## Running testcase D.4
       
   106   # testing echange of "A1" (e5ea8f9c7314)
       
   107   ## initial state
       
   108   # obstore: main
       
   109   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   110   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   111   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   112   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   113   # obstore: pushdest
       
   114   # obstore: pulldest
       
   115   ## pushing "A1" from main to pushdest
       
   116   pushing to pushdest
       
   117   searching for changes
       
   118   remote: adding changesets
       
   119   remote: adding manifests
       
   120   remote: adding file changes
       
   121   remote: added 1 changesets with 1 changes to 1 files
       
   122   remote: 2 new obsolescence markers
       
   123   ## post push state
       
   124   # obstore: main
       
   125   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   126   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   127   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   128   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   129   # obstore: pushdest
       
   130   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   131   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   132   # obstore: pulldest
       
   133   ## pulling "e5ea8f9c7314" from main into pulldest
       
   134   pulling from main
       
   135   searching for changes
       
   136   adding changesets
       
   137   adding manifests
       
   138   adding file changes
       
   139   added 1 changesets with 1 changes to 1 files
       
   140   2 new obsolescence markers
       
   141   (run 'hg update' to get a working copy)
       
   142   ## post pull state
       
   143   # obstore: main
       
   144   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   145   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   146   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   147   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   148   # obstore: pushdest
       
   149   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   150   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   151   # obstore: pulldest
       
   152   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   153   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}