changeset 4320:b4bc185bcefb

branching: merge with stable
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 24 Dec 2018 18:38:25 +0100
parents 980565468003 (current diff) 2d3ee6a25d2c (diff)
children 00d1963f50e5
files CHANGELOG hgext3rd/evolve/compat.py hgext3rd/evolve/evolvecmd.py hgext3rd/evolve/metadata.py hgext3rd/topic/__init__.py
diffstat 8 files changed, 130 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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