evolve: store the old other divergent node after relocation in evolvestate
When the content-divergent changes are on different parents and we relocate of
the node to the parent of another one, we get a new other-divergent node. We
still need to store the older other-divergent in evolvestate so that we can use
that information.
--- a/hgext3rd/evolve/evolvecmd.py Sun Jun 10 22:42:57 2018 +0530
+++ b/hgext3rd/evolve/evolvecmd.py Sun Jun 10 22:52:11 2018 +0530
@@ -351,6 +351,9 @@
# below.
evolvestate['relocated'] = None
evolvestate['relocating'] = False
+ # in case or relocation we get a new other node, we need to store the old
+ # other for purposes like `--abort` or `--stop`
+ evolvestate['old-other'] = None
base, others = divergentdata(divergent)
# we don't handle split in content-divergence yet
@@ -464,6 +467,7 @@
evolvestate['current'] = other.node()
evolvestate.save()
raise
+ evolvestate['old-other'] = other.node()
other = repo[newother]
evolvestate['relocating'] = False
evolvestate['relocated'] = other.node()