--- a/.hgtags Thu Dec 20 13:59:07 2018 +0800
+++ b/.hgtags Mon Dec 24 18:38:25 2018 +0100
@@ -75,3 +75,4 @@
45d4b49d81d9ed23e40126f72bfc3fb339522356 8.3.0
b90422a11a887c6ff756c2a5622ea0a1e260ff4c 8.3.1
7edc5c148df0150087832b861966d658df0b601e 8.3.2
+97b18934d6db9e7e7eaa3fb656c0411d7f43af26 8.3.3
--- a/CHANGELOG Thu Dec 20 13:59:07 2018 +0800
+++ b/CHANGELOG Mon Dec 24 18:38:25 2018 +0100
@@ -17,9 +17,10 @@
* stack: introduce a --children flag (see help for details)
* topic: make --age compatible with the usual other display for `hg topic`
-8.3.3 - in progress
+8.3.3 -- 2017-12-24
-------------------
+ * evolve: properly detect unresolved merge conflict (issue-5966)
* evolve: fix possible crash when the repo changes during evolve (issue-6028)
* test: avoid leaking `hg serve` process
* topic: fix error message for the `ngtip` revset
--- a/debian/changelog Thu Dec 20 13:59:07 2018 +0800
+++ b/debian/changelog Mon Dec 24 18:38:25 2018 +0100
@@ -1,4 +1,10 @@
-mercurial-evolve (8.3.2-1) UNRELEASED; urgency=medium
+mercurial-evolve (8.3.3-1) unstable; urgency=medium
+
+ * new upstream release
+
+ -- Pierre-Yves David <pierre-yves.david@ens-lyon.org> Mon, 24 Dec 2018 17:52:33 +0100
+
+mercurial-evolve (8.3.2-1) unstable; urgency=medium
* new upstream release
--- a/hgext3rd/evolve/evolvecmd.py Thu Dec 20 13:59:07 2018 +0800
+++ b/hgext3rd/evolve/evolvecmd.py Mon Dec 24 18:38:25 2018 +0100
@@ -21,6 +21,7 @@
hg,
lock as lockmod,
merge,
+ mergeutil,
node as nodemod,
obsolete,
obsutil,
@@ -1723,6 +1724,8 @@
"""logic for handling of `hg evolve --continue`"""
with repo.wlock(), repo.lock():
+ ms = merge.mergestate.read(repo)
+ mergeutil.checkunresolved(ms)
if (evolvestate['command'] == 'next'
or evolvestate['category'] == 'orphan'):
_completeorphan(ui, repo, evolvestate)
--- a/hgext3rd/evolve/metadata.py Thu Dec 20 13:59:07 2018 +0800
+++ b/hgext3rd/evolve/metadata.py Mon Dec 24 18:38:25 2018 +0100
@@ -6,6 +6,6 @@
# GNU General Public License version 2 or any later version.
__version__ = '8.4.0.dev'
-testedwith = '4.4.2 4.5.2 4.6.2 4.7'
+testedwith = '4.4.2 4.5.2 4.6.2 4.7 4.8'
minimumhgversion = '4.4'
buglink = 'https://bz.mercurial-scm.org/'
--- a/hgext3rd/topic/__init__.py Thu Dec 20 13:59:07 2018 +0800
+++ b/hgext3rd/topic/__init__.py Mon Dec 24 18:38:25 2018 +0100
@@ -179,7 +179,7 @@
__version__ = '0.13.0.dev'
-testedwith = '4.4.2 4.5.2 4.6.2 4.7'
+testedwith = '4.4.2 4.5.2 4.6.2 4.7 4.8'
minimumhgversion = '4.4'
buglink = 'https://bz.mercurial-scm.org/'
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-evolve-issue5966.t Mon Dec 24 18:38:25 2018 +0100
@@ -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
+
--- a/tests/test-stabilize-result.t Thu Dec 20 13:59:07 2018 +0800
+++ b/tests/test-stabilize-result.t Mon Dec 24 18:38:25 2018 +0100
@@ -93,7 +93,6 @@
+a
+newer a
$ hg evolve --continue
- evolving 4:3655f0f50885 "newer a"
abort: unresolved merge conflicts (see 'hg help resolve')
[255]
$ hg resolve -m a