evolve: refactor the code which swap two nodes (in divergence resolution)
I see that we are using the code to swap the "divergent" and "other" node;
and updating the evolvestate accordingly at many places in divergence
resolution. This patch extract that code to a function.
Although I don't have strong opinion on this patch. It's a volunteered
patch to remove some redundancy.
[flake8]
ignore =
#closing bracket does not match indentation of opening bracket's line
E123,
# closing bracket does not match visual indentation
E124,
# visually indented line with same indent as next logical line
E129,
# at least two spaces before inline comment
E261,
# too many leading '#' for block comment
E266,
# expected 2 blank lines, found 0
E302,
# expected 2 blank lines after end of function or class
E305,
# module level import not at top of file
E402,
# line too long (82 > 79 characters)
E501,
# do not assign a lambda expression, use a def
E731,
# class names should use CapWords convention
N801,
# line break occurred before a binary operator
W503
builtins=xrange, execfile