view tests/test-evolve-phase.t @ 3798:7c05ee4a8cc7

tests: don't use mkcommit shell function in test-divergent.t Upcoming series will start merging commit descriptions while resolving content-divergence. This tests are here to test the basics of content-divegrence resolution and we should not be testing much of commit description merge here. Replacing mkcommit function with normal hg calls will help us decide on the commit messages ourselves and prevent conflicts while merging commit messages.
author Pulkit Goyal <7895pulkit@gmail.com>
date Tue, 05 Jun 2018 21:02:09 +0530
parents ededd22e7c7b
children f67ac33c07d2
line wrap: on
line source

Testing the handling of phases for `hg evolve` command

  $ cat >> $HGRCPATH <<EOF
  > [phases]
  > publish = False
  > [alias]
  > glog = log -G --template='{rev} - {node|short} {desc} ({phase})\n'
  > [extensions]
  > EOF
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH

Testing when there are no conflicts during evolve

  $ hg init noconflict
  $ cd noconflict
  $ echo a>a
  $ hg ci -Aqm a
  $ echo b>b
  $ hg ci -Aqm b
  $ echo c>c
  $ hg ci -Aqsm c
  $ hg glog
  @  2 - 177f92b77385 c (secret)
  |
  o  1 - d2ae7f538514 b (draft)
  |
  o  0 - cb9a9f314b8b a (draft)
  

  $ hg prev
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  [1] b
  $ echo b2>b
  $ hg amend
  1 new orphan changesets
  $ hg evolve
  move:[2] c
  atop:[3] b
  working directory is now at 813dde83a7f3
  $ hg glog
  @  4 - 813dde83a7f3 c (secret)
  |
  o  3 - fd89d0f19529 b (draft)
  |
  o  0 - cb9a9f314b8b a (draft)
  
  $ cd ..

Testing case when there are conflicts (bug 5720)

  $ hg init conflicts
  $ cd conflicts
  $ echo a > a
  $ hg ci -Am a
  adding a
  $ echo b > a
  $ hg ci -m b
  $ echo c > a
  $ hg ci -sm c
  $ hg glog
  @  2 - 13833940840c c (secret)
  |
  o  1 - 1e6c11564562 b (draft)
  |
  o  0 - cb9a9f314b8b a (draft)
  

  $ hg prev
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  [1] b
  $ echo b2 > a
  $ hg amend
  1 new orphan changesets

  $ hg glog
  @  3 - 87495ea7c9ec b (draft)
  |
  | *  2 - 13833940840c c (secret)
  | |
  | x  1 - 1e6c11564562 b (draft)
  |/
  o  0 - cb9a9f314b8b a (draft)
  
  $ hg evolve
  move:[2] c
  atop:[3] b
  merging a
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
  evolve failed!
  see `hg help evolve.interrupted-evolve`
  abort: unresolved merge conflicts (see hg help resolve)
  [255]

  $ hg diff
  diff -r 87495ea7c9ec a
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,5 @@
  +<<<<<<< destination: 87495ea7c9ec - test: b
   b2
  +=======
  +c
  +>>>>>>> evolving:    13833940840c - test: c

  $ hg glog
  @  3 - 87495ea7c9ec b (draft)
  |
  | *  2 - 13833940840c c (secret)
  | |
  | x  1 - 1e6c11564562 b (draft)
  |/
  o  0 - cb9a9f314b8b a (draft)
  

  $ echo c2 > a
  $ hg resolve -m
  (no more unresolved files)
  continue: hg evolve --continue
  $ hg evolve -c
  evolving 2:13833940840c "c"
  working directory is now at 3d2080c198e5

  $ hg glog
  @  4 - 3d2080c198e5 c (secret)
  |
  o  3 - 87495ea7c9ec b (draft)
  |
  o  0 - cb9a9f314b8b a (draft)