tests/test-evolve-content-divergence-meta.t
branchstable
changeset 4507 de9089514833
parent 4486 099e0ca8285e
parent 4498 99dbe605fda5
child 4508 fce8f5ca10d8
equal deleted inserted replaced
4486:099e0ca8285e 4507:de9089514833
     1 +====================================================
       
     2 +Tests the resolution of content divergence: metadata
       
     3 +====================================================
       
     4 
       
     5 This file intend to cover cases focused around meta data merging.
       
     6 
       
     7 Setup
       
     8 -----
       
     9 
       
    10   $ cat >> $HGRCPATH <<EOF
       
    11   > [alias]
       
    12   > glog = log -GT "{rev}:{node|short} {desc|firstline}\n {phase} {troubles}\n\n"
       
    13   > [phases]
       
    14   > publish = False
       
    15   > [extensions]
       
    16   > rebase =
       
    17   > EOF
       
    18   $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
       
    19 
       
    20 Check we preserve the author properly
       
    21 -------------------------------------
       
    22 
       
    23 Testing issue6113 to make sure that content-divergence resolution don't
       
    24 replace initial author with the user running the resolution command:
       
    25 
       
    26   $ hg init userfoo
       
    27   $ cd userfoo
       
    28   $ unset HGUSER
       
    29   $ echo "[ui]" >> ./.hg/hgrc
       
    30   $ echo "username = foo <foo@test.com>" >> ./.hg/hgrc
       
    31   $ for ch in a b c; do
       
    32   > echo $ch > $ch;
       
    33   > hg add $ch;
       
    34   > hg ci -m "added "$ch;
       
    35   > done;
       
    36 
       
    37   $ cd ..
       
    38   $ hg init userbar
       
    39   $ cd userbar
       
    40   $ unset HGUSER
       
    41   $ echo "[ui]" >> ./.hg/hgrc
       
    42   $ echo "username = bar <bar@test.com>" >> ./.hg/hgrc
       
    43   $ hg pull ./../userfoo -q
       
    44 
       
    45   $ cd ../userfoo
       
    46   $ hg up -r "desc('added b')"
       
    47   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
    48   $ echo c > c
       
    49   $ echo e > e
       
    50   $ hg add c e
       
    51   $ hg ci -m "added c e"
       
    52   created new head
       
    53 
       
    54   $ hg up -r "desc('added b')"
       
    55   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
    56   $ echo cc > c
       
    57   $ hg add c
       
    58   $ hg ci -m "added c"
       
    59   created new head
       
    60 
       
    61   $ hg prune -r "min(desc('added c'))" -s "desc('added c e')"
       
    62   1 changesets pruned
       
    63   $ hg prune -r "min(desc('added c'))" -s "max(desc('added c'))" --hidden
       
    64   1 changesets pruned
       
    65   2 new content-divergent changesets
       
    66 
       
    67   $ hg glog
       
    68   @  4:6c06cda6dc99 added c
       
    69   |   draft content-divergent
       
    70   |
       
    71   | *  3:0c9267e23c9d added c e
       
    72   |/    draft content-divergent
       
    73   |
       
    74   o  1:1740ad2a1eda added b
       
    75   |   draft
       
    76   |
       
    77   o  0:f863f39764c4 added a
       
    78       draft
       
    79   
       
    80 
       
    81   $ cd ../userbar
       
    82   $ hg pull ./../userfoo -q
       
    83   2 new content-divergent changesets
       
    84 
       
    85   $ hg evolve --content-divergent --any
       
    86   merge:[3] added c e
       
    87   with: [4] added c
       
    88   base: [2] added c
       
    89   updating to "local" side of the conflict: 0c9267e23c9d
       
    90   merging "other" content-divergent changeset '6c06cda6dc99'
       
    91   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    92   working directory is now at 443bd2972210
       
    93 
       
    94 Make sure resultant cset don't replace the initial user with user running the command:
       
    95   $ hg log -r tip
       
    96   changeset:   5:443bd2972210
       
    97   tag:         tip
       
    98   parent:      1:1740ad2a1eda
       
    99   user:        foo <foo@test.com>
       
   100   date:        Thu Jan 01 00:00:00 1970 +0000
       
   101   summary:     added c e
       
   102