tests/test-evolve-issue5966.t
branchmercurial-4.4
changeset 4315 55ca0b6276e7
parent 4311 8aa28e68ac44
child 4316 e6ee830c4f45
child 4363 a2fdbece7ce1
equal deleted inserted replaced
4308:c06301c5b3e2 4315:55ca0b6276e7
       
     1 Testing evolve --continue with unresolved conflicts (issue5966)
       
     2 https://bz.mercurial-scm.org/show_bug.cgi?id=5966
       
     3 
       
     4   $ . $TESTDIR/testlib/common.sh
       
     5 
       
     6   $ hg init issue5966
       
     7   $ cd issue5966
       
     8   $ cat > .hg/hgrc << EOF
       
     9   > [phases]
       
    10   > publish = false
       
    11   > [alias]
       
    12   > glog = log -GT "{rev}: {desc}"
       
    13   > [extensions]
       
    14   > evolve=
       
    15   > EOF
       
    16 
       
    17   $ touch a
       
    18   $ hg ci -Aqm 'empty'
       
    19 
       
    20   $ echo apple > a
       
    21   $ hg ci -m 'apple'
       
    22   $ echo banana > a
       
    23   $ hg ci -m 'banana'
       
    24   $ echo coconut > a
       
    25   $ hg ci -m 'coconut'
       
    26 
       
    27   $ hg glog
       
    28   @  3: coconut
       
    29   |
       
    30   o  2: banana
       
    31   |
       
    32   o  1: apple
       
    33   |
       
    34   o  0: empty
       
    35   
       
    36 
       
    37   $ hg up -q 1
       
    38 
       
    39 Amending revision 1 in a way that causes conflicts
       
    40 
       
    41   $ echo apricot > a
       
    42   $ hg amend -m 'apricot'
       
    43   2 new orphan changesets
       
    44 
       
    45   $ hg glog --hidden
       
    46   @  4: apricot
       
    47   |
       
    48   | o  3: coconut
       
    49   | |
       
    50   | o  2: banana
       
    51   | |
       
    52   | x  1: apple
       
    53   |/
       
    54   o  0: empty
       
    55   
       
    56 
       
    57   $ hg evolve -t :fail
       
    58   move:[2] banana
       
    59   atop:[4] apricot
       
    60   fix conflicts and see `hg help evolve.interrupted`
       
    61   [1]
       
    62   $ hg evolve --list
       
    63   34a690fcf6ab: banana
       
    64     orphan: 7f59f18ca4a9 (obsolete parent)
       
    65   
       
    66   feb8c0bffa1f: coconut
       
    67     orphan: 34a690fcf6ab (orphan parent)
       
    68   
       
    69 Evolve should detect unresolved conflict.
       
    70 
       
    71   $ hg resolve --list
       
    72   U a
       
    73   $ hg evolve --continue
       
    74   abort: unresolved merge conflicts (see 'hg help resolve')
       
    75   [255]
       
    76 
       
    77 (even when ran twice)
       
    78 
       
    79   $ hg evolve --continue
       
    80   abort: unresolved merge conflicts (see 'hg help resolve')
       
    81   [255]
       
    82 
       
    83   $ cat a
       
    84   apricot
       
    85   $ hg resolve --list
       
    86   U a
       
    87   $ hg resolve a -t :other
       
    88   (no more unresolved files)
       
    89   continue: hg evolve --continue
       
    90   $ hg resolve --list
       
    91   R a
       
    92   $ hg evolve --continue
       
    93   evolving 2:34a690fcf6ab "banana"
       
    94   working directory is now at e4207a610ed0
       
    95   $ hg resolve --list
       
    96 
       
    97 evolve the rest of the stack
       
    98 
       
    99   $ hg evolve
       
   100   move:[3] coconut
       
   101   atop:[5] banana
       
   102   merging a
       
   103   working directory is now at d77b4639fe26
       
   104 
       
   105 All commit evolved
       
   106 
       
   107   $ hg glog
       
   108   @  6: coconut
       
   109   |
       
   110   o  5: banana
       
   111   |
       
   112   o  4: apricot
       
   113   |
       
   114   o  0: empty
       
   115