tests/test-evolve-stop-contentdiv.t
changeset 3761 777c29ac02bf
child 3823 7b33a6ed0539
equal deleted inserted replaced
3760:88601e1cd5d8 3761:777c29ac02bf
       
     1 Tests for the --stop flag for `hg evolve` command while resolving content-divergence
       
     2 ==================================================================================
       
     3 
       
     4 The `--stop` flag stops the interrupted evolution and delete the state file so
       
     5 user can do other things and comeback and do evolution later on
       
     6 
       
     7 This is testing cases when `hg evolve` command is doing content-divergence resolution.
       
     8 
       
     9 Setup
       
    10 =====
       
    11 
       
    12   $ cat >> $HGRCPATH <<EOF
       
    13   > [alias]
       
    14   > glog = log -GT "{rev}:{node|short} {desc}\n ({bookmarks}) {phase}"
       
    15   > [extensions]
       
    16   > EOF
       
    17   $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
       
    18 
       
    19   $ hg init stoprepo
       
    20   $ cd stoprepo
       
    21   $ echo ".*\.orig" > .hgignore
       
    22   $ hg add .hgignore
       
    23   $ hg ci -m "added hgignore"
       
    24   $ for ch in a b c d; do echo foo > $ch; hg add $ch; hg ci -qm "added "$ch; done;
       
    25 
       
    26   $ hg glog
       
    27   @  4:c41c793e0ef1 added d
       
    28   |   () draft
       
    29   o  3:ca1b80f7960a added c
       
    30   |   () draft
       
    31   o  2:b1661037fa25 added b
       
    32   |   () draft
       
    33   o  1:c7586e2a9264 added a
       
    34   |   () draft
       
    35   o  0:8fa14d15e168 added hgignore
       
    36       () draft
       
    37 
       
    38 Creating content divergence, resolution of which will lead to conflicts
       
    39 -----------------------------------------------------------------------
       
    40 
       
    41   $ echo bar > d
       
    42   $ hg amend
       
    43 
       
    44   $ hg up c41c793e0ef1 --hidden
       
    45   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    46   updated to hidden changeset c41c793e0ef1
       
    47   (hidden revision 'c41c793e0ef1' was rewritten as: e49523854bc8)
       
    48   working directory parent is obsolete! (c41c793e0ef1)
       
    49   (use 'hg evolve' to update to its successor: e49523854bc8)
       
    50 
       
    51   $ echo foobar > d
       
    52   $ hg amend
       
    53   2 new content-divergent changesets
       
    54   $ hg glog --hidden
       
    55   @  6:9c1631e352d9 added d
       
    56   |   () draft
       
    57   | *  5:e49523854bc8 added d
       
    58   |/    () draft
       
    59   | x  4:c41c793e0ef1 added d
       
    60   |/    () draft
       
    61   o  3:ca1b80f7960a added c
       
    62   |   () draft
       
    63   o  2:b1661037fa25 added b
       
    64   |   () draft
       
    65   o  1:c7586e2a9264 added a
       
    66   |   () draft
       
    67   o  0:8fa14d15e168 added hgignore
       
    68       () draft
       
    69 
       
    70   $ hg evolve --content-divergent
       
    71   merge:[6] added d
       
    72   with: [5] added d
       
    73   base: [4] added d
       
    74   merging "other" content-divergent changeset 'e49523854bc8'
       
    75   merging d
       
    76   warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
       
    77   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
       
    78   abort: fix conflicts and run 'hg evolve --continue' or use 'hg update -C .' to abort
       
    79   [255]
       
    80 
       
    81   $ hg evolve --stop
       
    82   stopped the interrupted evolve
       
    83   working directory is now at 9c1631e352d9
       
    84 
       
    85   $ hg glog --hidden
       
    86   @  6:9c1631e352d9 added d
       
    87   |   () draft
       
    88   | *  5:e49523854bc8 added d
       
    89   |/    () draft
       
    90   | x  4:c41c793e0ef1 added d
       
    91   |/    () draft
       
    92   o  3:ca1b80f7960a added c
       
    93   |   () draft
       
    94   o  2:b1661037fa25 added b
       
    95   |   () draft
       
    96   o  1:c7586e2a9264 added a
       
    97   |   () draft
       
    98   o  0:8fa14d15e168 added hgignore
       
    99       () draft