evolve: cover the orphanmerge part missed by lastsolved
Let's cover the orphanmerge part also as it was missed
at the time when we introduced "lastsolved".
Chagnes in test-evolve.t reflect the fixed behaviour.
--- a/CHANGELOG Thu Jan 17 16:20:35 2019 +0530
+++ b/CHANGELOG Tue Dec 25 14:35:54 2018 +0530
@@ -9,6 +9,7 @@
* split: no longer accept revision with --rev (BC)
* split: accept file patterns
* split: support for non interactive splits
+ * evolve: avoid potential crash when stabilizing orphan merges
* fold: concatenate commit message in revision order
* push: have `--publish` overrule the `auto-publish` config
* next: evolve aspiring children by default (use --no-evolve to skip)
--- a/hgext3rd/evolve/evolvecmd.py Thu Jan 17 16:20:35 2019 +0530
+++ b/hgext3rd/evolve/evolvecmd.py Tue Dec 25 14:35:54 2018 +0530
@@ -1607,6 +1607,7 @@
stacktmplt=stacktmplt)
if ret[0]:
evolvestate['replacements'][curctx.node()] = ret[1]
+ lastsolved = ret[1]
else:
evolvestate['skippedrevs'].append(curctx.node())
--- a/tests/test-evolve.t Thu Jan 17 16:20:35 2019 +0530
+++ b/tests/test-evolve.t Tue Dec 25 14:35:54 2018 +0530
@@ -1628,5 +1628,5 @@
move:[10] merge feature branch
atop:[6] updated f
move:[8] added e
- abort: filtered revision '542961dcfd9430cbed06b583606d62f02e3929d5'!
- [255]
+ atop:[9] updated d
+ working directory is now at 7c67cee06242