--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-evolve-issue5966.t Fri Dec 21 13:14:59 2018 +0800
@@ -0,0 +1,115 @@
+Testing evolve --continue with unresolved conflicts (issue5966)
+https://bz.mercurial-scm.org/show_bug.cgi?id=5966
+
+ $ . $TESTDIR/testlib/common.sh
+
+ $ hg init issue5966
+ $ cd issue5966
+ $ cat > .hg/hgrc << EOF
+ > [phases]
+ > publish = false
+ > [alias]
+ > glog = log -GT "{rev}: {desc}"
+ > [extensions]
+ > evolve=
+ > EOF
+
+ $ touch a
+ $ hg ci -Aqm 'empty'
+
+ $ echo apple > a
+ $ hg ci -m 'apple'
+ $ echo banana > a
+ $ hg ci -m 'banana'
+ $ echo coconut > a
+ $ hg ci -m 'coconut'
+
+ $ hg glog
+ @ 3: coconut
+ |
+ o 2: banana
+ |
+ o 1: apple
+ |
+ o 0: empty
+
+
+ $ hg up -q 1
+
+Amending revision 1 in a way that causes conflicts
+
+ $ echo apricot > a
+ $ hg amend -m 'apricot'
+ 2 new orphan changesets
+
+ $ hg glog --hidden
+ @ 4: apricot
+ |
+ | * 3: coconut
+ | |
+ | * 2: banana
+ | |
+ | x 1: apple
+ |/
+ o 0: empty
+
+
+ $ hg evolve -t :fail
+ move:[2] banana
+ atop:[4] apricot
+ fix conflicts and see `hg help evolve.interrupted`
+ [1]
+ $ hg evolve --list
+ 34a690fcf6ab: banana
+ orphan: 7f59f18ca4a9 (obsolete parent)
+
+ feb8c0bffa1f: coconut
+ orphan: 34a690fcf6ab (orphan parent)
+
+Evolve should detect unresolved conflict.
+
+ $ hg resolve --list
+ U a
+ $ hg evolve --continue
+ abort: unresolved merge conflicts (see 'hg help resolve')
+ [255]
+
+(even when ran twice)
+
+ $ hg evolve --continue
+ abort: unresolved merge conflicts (see 'hg help resolve')
+ [255]
+
+ $ cat a
+ apricot
+ $ hg resolve --list
+ U a
+ $ hg resolve a -t :other
+ (no more unresolved files)
+ continue: hg evolve --continue
+ $ hg resolve --list
+ R a
+ $ hg evolve --continue
+ evolving 2:34a690fcf6ab "banana"
+ working directory is now at e4207a610ed0
+ $ hg resolve --list
+
+evolve the rest of the stack
+
+ $ hg evolve
+ move:[3] coconut
+ atop:[5] banana
+ merging a
+ working directory is now at d77b4639fe26
+
+All commit evolved
+
+ $ hg glog
+ @ 6: coconut
+ |
+ o 5: banana
+ |
+ o 4: apricot
+ |
+ o 0: empty
+