evolve: support successors of ancestor of orphan with multiple roots
The previous code checked that the set of successors has a single root.
However, there’s no reason to require that in general.
Example:
o 6
|
o 5
|\
| o 4
| |
o | 3
|/
| * 2
| |
| x 1
|/
o 0
1 is obsoleted by 3, 4 and 6. We are considering the case when 2 gets evolved.
The roots are [3, 4] and the heads are [6]. Before the change, the user was
asked which destination to choose, but there was only one choice (6). After the
change, 6 is chosen as the destination.
prune contrib
prune debian
prune .gitlab
prune hgext3rd/evolve/hack
exclude .hg-format-source
exclude .gitlab-ci.yml
exclude hgext3rd/evolve/legacy.py
exclude Makefile
exclude tests/test-drop.t
exclude tests/test-inhibit.t
exclude tests/test-oldconvert.t
include CHANGELOG
include COPYING
include hgext3rd/__init__.py
include hgext3rd/evolve/*.py
include hgext3rd/evolve/thirdparty/*.py
include hgext3rd/topic/*.py
include hgext3rd/topic/README
include MANIFEST.in
include README
include setup.py
include tests/*.py
include tests/*.sh
include tests/testlib/*.sh
include tests/*.t
exclude docs/tutorial/.netlify
include docs/makefile
include docs/*.py
include docs/README
include docs/*.rst
include docs/static/*.svg
include docs/tutorials/*.t
include docs/tutorial/standalone.html
recursive-include docs/figures *.svg *.png
recursive-include docs/tutorial *.css *.js *.md *.py *.rst *.sh *.t