tests/test-exchange-A1.t
changeset 827 f62ff54c893b
child 829 0943f327e2fb
equal deleted inserted replaced
826:bee5e1105e6c 827:f62ff54c893b
       
     1 
       
     2 Initial setup
       
     3 
       
     4   $ cat >> $HGRCPATH <<EOF
       
     5   > [web]
       
     6   > push_ssl = false
       
     7   > allow_push = *
       
     8   > [ui]
       
     9   > logtemplate ="{node|short} ({phase}): {desc}\n"
       
    10   > [phases]
       
    11   > publish=False
       
    12   > [extensions]
       
    13   > hgext.rebase=
       
    14   > EOF
       
    15   $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
       
    16 
       
    17   $ mkcommit() {
       
    18   >    echo "$1" > "$1"
       
    19   >    hg add "$1"
       
    20   >    hg ci -m "$1"
       
    21   > }
       
    22   $ getid() {
       
    23   >    hg id --hidden --debug -ir "$1"
       
    24   > }
       
    25 
       
    26 ==== A.1.1 pushing a single head ====
       
    27 ..
       
    28 .. {{{
       
    29 ..     ⇠◔ A
       
    30 ..      |
       
    31 ..      ● O
       
    32 .. }}}
       
    33 ..
       
    34 .. Marker exist from:
       
    35 ..
       
    36 ..  * A
       
    37 ..
       
    38 .. Command run:
       
    39 ..
       
    40 ..  * hg push -r A
       
    41 ..  * hg push
       
    42 ..
       
    43 .. Expected exchange:
       
    44 ..
       
    45 ..  * chain from A
       
    46 
       
    47 Setup
       
    48 ---------------
       
    49 
       
    50 initial
       
    51 
       
    52   $ mkdir A.1.1
       
    53   $ cd A.1.1
       
    54   $ hg init source
       
    55   $ hg init dest
       
    56   $ hg init other
       
    57   $ cd source
       
    58   $ mkcommit O
       
    59   $ hg phase --public .
       
    60   $ hg push -q ../dest
       
    61   $ hg push -q ../other
       
    62   $ mkcommit A
       
    63   $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A)'`
       
    64   $ hg log -G
       
    65   @  f5bc6836db60 (draft): A
       
    66   |
       
    67   o  a9bdc8b26820 (public): O
       
    68   
       
    69   $ hg debugobsolete
       
    70   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
    71   $ cd ..
       
    72   $ cd ..
       
    73 
       
    74 setup both variants
       
    75 
       
    76   $ cp -r A.1.1 A.1.1.a
       
    77   $ cp -r A.1.1 A.1.1.b
       
    78 
       
    79 
       
    80 Variante a: push -r A
       
    81 ---------------------
       
    82 
       
    83   $ cd A.1.1.a
       
    84   $ hg -R source id -r 'desc(A)'
       
    85   f5bc6836db60 tip
       
    86   $ hg -R source debugobsolete
       
    87   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
    88   $ hg -R dest   debugobsolete
       
    89   $ hg -R other  debugobsolete
       
    90 
       
    91   $ hg -R source push -r 'desc(A)' dest
       
    92   pushing to dest
       
    93   searching for changes
       
    94   adding changesets
       
    95   adding manifests
       
    96   adding file changes
       
    97   added 1 changesets with 1 changes to 1 files
       
    98   OBSEXC: computing relevant nodes
       
    99   OBSEXC: computing markers relevant to 2 nodes
       
   100   OBSEXC: encoding 1 markers
       
   101   OBSEXC: sending 1 pushkey payload (78 bytes)
       
   102   OBSEXC: DONE
       
   103   $ hg -R source debugobsolete
       
   104   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   105   $ hg -R dest   debugobsolete
       
   106   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   107   $ hg -R other  debugobsolete
       
   108 
       
   109   $ hg -R other pull -r 'f5bc6836db60' dest
       
   110   pulling from dest
       
   111   searching for changes
       
   112   adding changesets
       
   113   adding manifests
       
   114   adding file changes
       
   115   added 1 changesets with 1 changes to 1 files
       
   116   OBSEXC: pull obsolescence markers
       
   117   OBSEXC: merging obsolescence markers (62 bytes)
       
   118   OBSEXC: 1 markers added
       
   119   OBSEXC: DONE
       
   120   (run 'hg update' to get a working copy)
       
   121   $ hg -R source debugobsolete
       
   122   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   123   $ hg -R dest   debugobsolete
       
   124   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   125   $ hg -R other  debugobsolete
       
   126   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   127 
       
   128   $ cd ..
       
   129 
       
   130 Variante b: push
       
   131 ---------------------
       
   132 
       
   133   $ cd A.1.1.b
       
   134   $ hg -R source id -r 'desc(A)'
       
   135   f5bc6836db60 tip
       
   136   $ hg -R source debugobsolete
       
   137   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   138   $ hg -R dest   debugobsolete
       
   139   $ hg -R other  debugobsolete
       
   140 
       
   141   $ hg -R source push dest
       
   142   pushing to dest
       
   143   searching for changes
       
   144   adding changesets
       
   145   adding manifests
       
   146   adding file changes
       
   147   added 1 changesets with 1 changes to 1 files
       
   148   OBSEXC: computing relevant nodes
       
   149   OBSEXC: computing markers relevant to 2 nodes
       
   150   OBSEXC: encoding 1 markers
       
   151   OBSEXC: sending 1 pushkey payload (78 bytes)
       
   152   OBSEXC: DONE
       
   153   $ hg -R source debugobsolete
       
   154   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   155   $ hg -R dest   debugobsolete
       
   156   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   157   $ hg -R other  debugobsolete
       
   158 
       
   159   $ hg -R other pull dest
       
   160   pulling from dest
       
   161   searching for changes
       
   162   adding changesets
       
   163   adding manifests
       
   164   adding file changes
       
   165   added 1 changesets with 1 changes to 1 files
       
   166   OBSEXC: pull obsolescence markers
       
   167   OBSEXC: merging obsolescence markers (62 bytes)
       
   168   OBSEXC: 1 markers added
       
   169   OBSEXC: DONE
       
   170   (run 'hg update' to get a working copy)
       
   171   $ hg -R source debugobsolete
       
   172   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   173   $ hg -R dest   debugobsolete
       
   174   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   175   $ hg -R other  debugobsolete
       
   176   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   177 
       
   178   $ cd ..
       
   179 
       
   180 
       
   181 
       
   182 ==== A.1.2 pushing a multiple changeset into a single head  ====
       
   183 
       
   184 .. {{{
       
   185 ..      ◔ B
       
   186 ..      |
       
   187 ..     ⇠◔ A
       
   188 ..      |
       
   189 ..      ● O
       
   190 .. }}}
       
   191 ..
       
   192 .. Marker exist from:
       
   193 ..
       
   194 ..  * A
       
   195 ..
       
   196 .. Command run:
       
   197 ..
       
   198 ..  * hg push -r B
       
   199 ..  * hg push
       
   200 ..
       
   201 .. Expected exchange:
       
   202 ..
       
   203 ..  * chain from A
       
   204 
       
   205 Setup
       
   206 ---------------
       
   207 
       
   208 initial
       
   209 
       
   210   $ mkdir A.1.2
       
   211   $ cd A.1.2
       
   212   $ hg init source
       
   213   $ hg init dest
       
   214   $ hg init other
       
   215   $ cd source
       
   216   $ mkcommit O
       
   217   $ hg phase --public .
       
   218   $ hg push -q ../dest
       
   219   $ hg push -q ../other
       
   220   $ mkcommit A
       
   221   $ mkcommit B
       
   222   $ hg log -G
       
   223   @  f6fbb35d8ac9 (draft): B
       
   224   |
       
   225   o  f5bc6836db60 (draft): A
       
   226   |
       
   227   o  a9bdc8b26820 (public): O
       
   228   
       
   229   $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A)'`
       
   230   $ hg debugobsolete
       
   231   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   232   $ cd ..
       
   233   $ cd ..
       
   234 
       
   235 setup both variants
       
   236 
       
   237   $ cp -r A.1.2 A.1.2.a
       
   238   $ cp -r A.1.2 A.1.2.b
       
   239 
       
   240 
       
   241 Variante a: push -r A
       
   242 ---------------------
       
   243 
       
   244   $ cd A.1.2.a
       
   245   $ hg -R source id -r 'desc(B)'
       
   246   f6fbb35d8ac9 tip
       
   247   $ hg -R source debugobsolete
       
   248   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   249   $ hg -R dest   debugobsolete
       
   250   $ hg -R other  debugobsolete
       
   251 
       
   252   $ hg -R source push -r 'desc(B)' dest
       
   253   pushing to dest
       
   254   searching for changes
       
   255   adding changesets
       
   256   adding manifests
       
   257   adding file changes
       
   258   added 2 changesets with 2 changes to 2 files
       
   259   OBSEXC: computing relevant nodes
       
   260   OBSEXC: computing markers relevant to 3 nodes
       
   261   OBSEXC: encoding 1 markers
       
   262   OBSEXC: sending 1 pushkey payload (78 bytes)
       
   263   OBSEXC: DONE
       
   264   $ hg -R source debugobsolete
       
   265   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   266   $ hg -R dest   debugobsolete
       
   267   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   268   $ hg -R other  debugobsolete
       
   269 
       
   270   $ hg -R other pull -r 'f6fbb35d8ac9' dest
       
   271   pulling from dest
       
   272   searching for changes
       
   273   adding changesets
       
   274   adding manifests
       
   275   adding file changes
       
   276   added 2 changesets with 2 changes to 2 files
       
   277   OBSEXC: pull obsolescence markers
       
   278   OBSEXC: merging obsolescence markers (62 bytes)
       
   279   OBSEXC: 1 markers added
       
   280   OBSEXC: DONE
       
   281   (run 'hg update' to get a working copy)
       
   282   $ hg -R source debugobsolete
       
   283   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   284   $ hg -R dest   debugobsolete
       
   285   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   286   $ hg -R other  debugobsolete
       
   287   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   288 
       
   289   $ cd ..
       
   290 
       
   291 Variante b: push
       
   292 ---------------------
       
   293 
       
   294   $ cd A.1.2.b
       
   295   $ hg -R source id -r 'desc(B)'
       
   296   f6fbb35d8ac9 tip
       
   297   $ hg -R source debugobsolete
       
   298   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   299   $ hg -R dest   debugobsolete
       
   300   $ hg -R other  debugobsolete
       
   301 
       
   302   $ hg -R source push dest
       
   303   pushing to dest
       
   304   searching for changes
       
   305   adding changesets
       
   306   adding manifests
       
   307   adding file changes
       
   308   added 2 changesets with 2 changes to 2 files
       
   309   OBSEXC: computing relevant nodes
       
   310   OBSEXC: computing markers relevant to 3 nodes
       
   311   OBSEXC: encoding 1 markers
       
   312   OBSEXC: sending 1 pushkey payload (78 bytes)
       
   313   OBSEXC: DONE
       
   314   $ hg -R source debugobsolete
       
   315   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   316   $ hg -R dest   debugobsolete
       
   317   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   318   $ hg -R other  debugobsolete
       
   319 
       
   320   $ hg -R other pull dest
       
   321   pulling from dest
       
   322   searching for changes
       
   323   adding changesets
       
   324   adding manifests
       
   325   adding file changes
       
   326   added 2 changesets with 2 changes to 2 files
       
   327   OBSEXC: pull obsolescence markers
       
   328   OBSEXC: merging obsolescence markers (62 bytes)
       
   329   OBSEXC: 1 markers added
       
   330   OBSEXC: DONE
       
   331   (run 'hg update' to get a working copy)
       
   332   $ hg -R source debugobsolete
       
   333   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   334   $ hg -R dest   debugobsolete
       
   335   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   336   $ hg -R other  debugobsolete
       
   337   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'}
       
   338 
       
   339   $ cd ..