# HG changeset patch # User Pierre-Yves David # Date 1540485171 -7200 # Node ID e964222035019fda42590c41d0ca861e5d633a59 # Parent 6be09fb2c08c725bca2cfcf5015779ab6a0e9470# Parent 18d5a7525c2c562d2ecf8e0d04acc5d5ab3bb8fe test-compat: merge mercurial-4.6 into mercurial-4.5 diff -r 6be09fb2c08c -r e96422203501 hgext3rd/evolve/evolvecmd.py --- a/hgext3rd/evolve/evolvecmd.py Thu Oct 25 13:04:08 2018 +0200 +++ b/hgext3rd/evolve/evolvecmd.py Thu Oct 25 18:32:51 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, diff -r 6be09fb2c08c -r e96422203501 hgext3rd/evolve/utility.py --- a/hgext3rd/evolve/utility.py Thu Oct 25 13:04:08 2018 +0200 +++ b/hgext3rd/evolve/utility.py Thu Oct 25 18:32:51 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', diff -r 6be09fb2c08c -r e96422203501 tests/test-topic-stack-complex.t --- a/tests/test-topic-stack-complex.t Thu Oct 25 13:04:08 2018 +0200 +++ b/tests/test-topic-stack-complex.t Thu Oct 25 18:32:51 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