Mercurial > evolve
annotate 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 |
rev | line source |
---|---|
4984
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
1 $ . $TESTDIR/testlib/pythonpath.sh |
5079
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
2 $ cat >> $HGRCPATH << EOF |
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
3 > [extensions] |
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
4 > evolve= |
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
5 > [experimental] |
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
6 > evolution.allowdivergence = True |
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
7 > EOF |
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4984
diff
changeset
|
8 |
4984
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
9 This test file tests the case of content-divergence resolution of changesets |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
10 that have the null revision as the parent. |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
11 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
12 $ hg init issue6201 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
13 $ cd issue6201 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
14 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
15 $ touch test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
16 $ hg add test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
17 $ hg commit -m test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
18 $ hg log -T '{node|short}\n' |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
19 be090ea66256 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
20 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
21 $ echo a >> test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
22 $ hg amend -m div1 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
23 $ hg log -T '{node|short}\n' |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
24 79fa0eb22d65 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
25 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
26 $ hg up be090ea66256 --hidden --quiet |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
27 updated to hidden changeset be090ea66256 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
28 (hidden revision 'be090ea66256' was rewritten as: 79fa0eb22d65) |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
29 working directory parent is obsolete! (be090ea66256) |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
30 $ echo a >> test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
31 $ echo b >> test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
32 $ hg amend -m div2 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
33 2 new content-divergent changesets |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
34 $ hg log -T '{node|short}\n' |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
35 4b2524b7508e |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
36 79fa0eb22d65 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
37 |
5084
946ebd8f08ea
tests: use --tool flag instead of --config ui.merge
Anton Shestakov <av6@dwimlabs.net>
parents:
4984
diff
changeset
|
38 $ hg evolve --content-divergent --tool :other |
4984
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
39 merge:[1] div1 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
40 with: [2] div2 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
41 base: [0] test |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
42 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
43 working directory is now at 12772224141b |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
44 |
b779b40f996e
evolve: fix content-divergence resolution when p1 is null (issue6201)
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
45 $ hg evolve --list |