Mercurial > evolve
view tests/test-evolve-content-divergent-first-changeset.t @ 5207:a5876853ba15 stable
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.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Wed, 11 Mar 2020 16:05:53 +0100 |
parents | 7fa4bb23a78a |
children | 1752a2e7a226 e78926a1a473 |
line wrap: on
line source
$ . $TESTDIR/testlib/pythonpath.sh $ cat >> $HGRCPATH << EOF > [extensions] > evolve= > [experimental] > evolution.allowdivergence = True > EOF This test file tests the case of content-divergence resolution of changesets that have the null revision as the parent. $ hg init issue6201 $ cd issue6201 $ touch test $ hg add test $ hg commit -m test $ hg log -T '{node|short}\n' be090ea66256 $ echo a >> test $ hg amend -m div1 $ hg log -T '{node|short}\n' 79fa0eb22d65 $ hg up be090ea66256 --hidden --quiet updated to hidden changeset be090ea66256 (hidden revision 'be090ea66256' was rewritten as: 79fa0eb22d65) working directory parent is obsolete! (be090ea66256) $ echo a >> test $ echo b >> test $ hg amend -m div2 2 new content-divergent changesets $ hg log -T '{node|short}\n' 4b2524b7508e 79fa0eb22d65 $ hg evolve --content-divergent --tool :other merge:[1] div1 with: [2] div2 base: [0] test 0 files updated, 1 files merged, 0 files removed, 0 files unresolved working directory is now at 12772224141b $ hg evolve --list