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.
This software was downloaded from
https://www.mercurial-scm.org/repo/evolve/
Copyright 2011 Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Logilab SA <contact@logilab.fr>
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Patrick Mezard <patrick@mezard.eu>
This software may be used and distributed according to the terms of the GNU
General Public License version 2 or any later version.
On Debian systems, the complete text of the GNU General Public License version
2 can be found in `/usr/share/common-licenses/GPL-2'.