author | Anton Shestakov <av6@dwimlabs.net> |
Tue, 10 Mar 2020 19:05:08 +0700 | |
changeset 5193 | a4d081923c81 |
parent 5123 | 900668a93629 |
child 5323 | 417503ef667d |
permissions | -rw-r--r-- |
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 |
5123
900668a93629
obslog: use _successorsetverb() in regular obslog too
Anton Shestakov <av6@dwimlabs.net>
parents:
5013
diff
changeset
|
73 |
| | amended(content) as 1d1fc409af98 using amend by test (Thu Jan 01 00:00:00 1970 +0000) |
4849
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 |
5123
900668a93629
obslog: use _successorsetverb() in regular obslog too
Anton Shestakov <av6@dwimlabs.net>
parents:
5013
diff
changeset
|
76 |
|/ amended(content) as a25dd7af6cf6 using amend by test (Thu Jan 01 00:00:00 1970 +0000) |
4849
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 |
5123
900668a93629
obslog: use _successorsetverb() in regular obslog too
Anton Shestakov <av6@dwimlabs.net>
parents:
5013
diff
changeset
|
79 |
date-changed(date) as 0065551bd38f using metaedit by test (Thu Jan 01 00:00:00 1970 +0000) |
900668a93629
obslog: use _successorsetverb() in regular obslog too
Anton Shestakov <av6@dwimlabs.net>
parents:
5013
diff
changeset
|
80 |
date-changed(date) as c17bf400a278 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000) |
4849
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 |
4998
88b816a9d990
evolve: preserve date when resolving content-divergence (issue6202)
Manuel Jacob <me@manueljacob.de>
parents:
4997
diff
changeset
|
88 |
working directory is now at 459c64f7eaad |