--- a/.hgtags Thu Oct 25 17:03:34 2018 +0200
+++ b/.hgtags Thu Oct 25 18:51:55 2018 +0200
@@ -73,3 +73,4 @@
8d8f08245f9715adf48d6f0f59772b04fd7de1f7 8.2.0
c6362c4abd695fb96e2fd63c150c051852303c7e 8.2.1
45d4b49d81d9ed23e40126f72bfc3fb339522356 8.3.0
+b90422a11a887c6ff756c2a5622ea0a1e260ff4c 8.3.1
--- a/CHANGELOG Thu Oct 25 17:03:34 2018 +0200
+++ b/CHANGELOG Thu Oct 25 18:51:55 2018 +0200
@@ -2,7 +2,7 @@
=========
-8.3.1 - in progress
+8.3.1 -- 2018-10-25
-------------------
* evolve+topic: fix possible crash during content-divergence evolution
--- a/debian/changelog Thu Oct 25 17:03:34 2018 +0200
+++ b/debian/changelog Thu Oct 25 18:51:55 2018 +0200
@@ -1,3 +1,9 @@
+mercurial-evolve (8.3.1) unstable; urgency=medium
+
+ * new upstream release
+
+ -- Pierre-Yves David <pierre-yves.david@ens-lyon.org> Thu, 25 Oct 2018 18:39:17 +0200
+
mercurial-evolve (8.3.0-1) unstable; urgency=medium
* new upstream release
--- a/hgext3rd/evolve/evolvecmd.py Thu Oct 25 17:03:34 2018 +0200
+++ b/hgext3rd/evolve/evolvecmd.py Thu Oct 25 18:51:55 2018 +0200
@@ -1583,15 +1583,13 @@
# check if revs to be evolved are in active topic to make sure that we
# can use stack aliases s# in evolve msgs.
activetopic = getattr(repo, 'currenttopic', '')
- rev = revs[0]
- revtopic = getattr(repo[rev], 'topic', '')
- if revtopic:
- revtopic = revtopic()
- stacktmplt = False
- if activetopic and revtopic and (activetopic == revtopic):
- stacktmplt = True
for rev in revs:
curctx = repo[rev]
+ revtopic = getattr(curctx, 'topic', lambda: '')()
+ topicidx = getattr(curctx, 'topicidx', lambda: None)()
+ stacktmplt = False
+ if activetopic and (activetopic == revtopic) and topicidx is not None:
+ stacktmplt = True
progresscb()
ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt,
confirmopt, progresscb, targetcat,
--- a/hgext3rd/evolve/utility.py Thu Oct 25 17:03:34 2018 +0200
+++ b/hgext3rd/evolve/utility.py Thu Oct 25 18:51:55 2018 +0200
@@ -14,7 +14,7 @@
from mercurial.node import nullrev
shorttemplate = "[{label('evolve.rev', rev)}] {desc|firstline}\n"
-stacktemplate = "[s{label('evolve.rev', topicidx)}] {desc|firstline}\n"
+stacktemplate = """[{label('evolve.rev', if(topicidx, "s{topicidx}", rev))}] {desc|firstline}\n"""
def obsexcmsg(ui, message, important=False):
verbose = ui.configbool('experimental', 'verbose-obsolescence-exchange',
--- a/tests/test-topic-stack-complex.t Thu Oct 25 17:03:34 2018 +0200
+++ b/tests/test-topic-stack-complex.t Thu Oct 25 18:51:55 2018 +0200
@@ -172,7 +172,7 @@
$ hg evolve --content-divergent -r ec94a1ed1330
merge:[s5] Added e and f
with: [s4] Added e and f
- base: [s] Added e and f
+ base: [3] Added e and f
updating to "local" side of the conflict: ec94a1ed1330
merging "other" content-divergent changeset 'f2eff98490d2'
0 files updated, 0 files merged, 0 files removed, 0 files unresolved