Mercurial > evolve
annotate tests/test-evolve-issue5958.t @ 4992:1eab41625dee stable
evolve: abort if deciding resolution parent is ambiguous
While solving content-divergence, it could be hard to decide
which cset should be treated as a resolution parent if there
are multiple successors of divergent cset. i.e split case.
But we are planning to make some update in handling this split
case:
1) consider highest one if all splitted csets are in a single
topological branch
2) still need to decide if 1) doesn't apply
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Fri, 06 Dec 2019 23:43:00 +0530 |
parents | 6d898fa6e5c3 |
children | 8b6e2565aaf3 |
rev | line source |
---|---|
4849
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 Content divergence and trying to relocate a node on top of itself (issue5958) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 https://bz.mercurial-scm.org/show_bug.cgi?id=5958 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 $ . $TESTDIR/testlib/common.sh |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 $ cat << EOF >> $HGRCPATH |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 > [extensions] |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
8 > rebase = |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
9 > evolve = |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
10 > EOF |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
12 $ hg init issue5958 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 $ cd issue5958 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 $ echo hi > r0 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 $ hg ci -qAm 'add r0' |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 $ echo hi > foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 $ hg ci -qAm 'add foo.txt' |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 $ hg metaedit -r . -d '0 2' |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 (Make changes in unrelated files so that we don't have any merge conflicts |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 during the rebase, but the two touched revisions aren't identical) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 $ echo hi > bar.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 $ hg add -q bar.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 $ hg amend -q |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 $ hg metaedit -r 1 -d '0 1' --hidden |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 2 new content-divergent changesets |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 $ hg log -r tip |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 changeset: 4:c17bf400a278 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 tag: tip |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 parent: 0:a24ed8ad918c |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 user: test |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 date: Wed Dec 31 23:59:59 1969 -0000 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 instability: content-divergent |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 summary: add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 $ echo hi > baz.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 $ hg add -q baz.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 $ hg amend -q |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 $ hg rebase -qr tip -d 4 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 $ hg log -G |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 @ changeset: 6:08bc7ba82799 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 | tag: tip |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 | parent: 4:c17bf400a278 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
47 | user: test |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
48 | date: Wed Dec 31 23:59:58 1969 -0000 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
49 | instability: content-divergent |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
50 | summary: add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 * changeset: 4:c17bf400a278 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 | parent: 0:a24ed8ad918c |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
54 | user: test |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
55 | date: Wed Dec 31 23:59:59 1969 -0000 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
56 | instability: content-divergent |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 | summary: add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
59 o changeset: 0:a24ed8ad918c |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 user: test |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 date: Thu Jan 01 00:00:00 1970 +0000 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 summary: add r0 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 $ hg obslog -a -r . |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 @ 08bc7ba82799 (6) add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 | * c17bf400a278 (4) add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 | | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 x | 1d1fc409af98 (5) add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 | | rewritten(parent, content) as 08bc7ba82799 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 | | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 x | a25dd7af6cf6 (3) add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 | | rewritten(content) as 1d1fc409af98 using amend by test (Thu Jan 01 00:00:00 1970 +0000) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 | | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 x | 0065551bd38f (2) add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 |/ rewritten(content) as a25dd7af6cf6 using amend by test (Thu Jan 01 00:00:00 1970 +0000) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 | |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 x cc71ffbc7c00 (1) add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 rewritten(date) as 0065551bd38f using metaedit by test (Thu Jan 01 00:00:00 1970 +0000) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 rewritten(date) as c17bf400a278 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000) |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 |
4850
6d898fa6e5c3
evolve: check that relocating makes sense in _solvedivergent() (issue5958)
Anton Shestakov <av6@dwimlabs.net>
parents:
4849
diff
changeset
|
82 $ hg evolve --content-divergent |
4849
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 merge:[6] add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 with: [4] add foo.txt |
b9b6f421688a
tests: demonstrate content divergence causing "relocate node on top of itself"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 base: [1] add foo.txt |
4850
6d898fa6e5c3
evolve: check that relocating makes sense in _solvedivergent() (issue5958)
Anton Shestakov <av6@dwimlabs.net>
parents:
4849
diff
changeset
|
86 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
6d898fa6e5c3
evolve: check that relocating makes sense in _solvedivergent() (issue5958)
Anton Shestakov <av6@dwimlabs.net>
parents:
4849
diff
changeset
|
87 1 new orphan changesets |
6d898fa6e5c3
evolve: check that relocating makes sense in _solvedivergent() (issue5958)
Anton Shestakov <av6@dwimlabs.net>
parents:
4849
diff
changeset
|
88 working directory is now at 2372e6d39855 |