# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1528651331 -19800 # Node ID b5dfa78073b920c5731fb726488a20bd98978f71 # Parent a8f509981d30bf2bc877c2c0389771a12bf9cc11 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. diff -r a8f509981d30 -r b5dfa78073b9 hgext3rd/evolve/evolvecmd.py --- 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()