evolve: implement resolution of content-divergence when on differet parents
This patch implements the basic version of resolution of content-divergence
changesets when they are on different parents but one of the parent is gca of
both the different parents.
The functionality first relocates the divergent changeset which was left behind
and then resolves the content-divergence like it resolves in normal cases.
This is a very basic implementation because it still does not work on
interrupted evolution. Test changes in this patch shows the basic functionality
working. The output of dry-run is also required to be tweaked in such cased.
Upcoming patches will add more tests and will improve the implementation to work
during conflicts too.
[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