Mercurial > evolve
annotate tests/test-evolve-content-divergent-case-A2.t @ 6906:67b8a57200f4 mercurial-6.2
ci: skip doctests on older branches
We either need to install and use newer system hg that supports zstd revlog
compression, or we can skip doctests because usually there are other tests that
cover the same code (e.g. by testing the relevant commands).
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Thu, 24 Oct 2024 19:48:01 +0400 |
parents | 3216855846dd |
children |
rev | line source |
---|---|
5390
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
1 =============================================== |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
2 Testing content-divergence resolution: Case A.2 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
3 =============================================== |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
4 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
5 Independent rewrites of same changeset can lead to content-divergence. In most |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
6 common cases, it can occur when multiple users rewrite the same changeset |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
7 independently and push it. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
8 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
9 This test belongs to a series of tests checking the resolution of content-divergent |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
10 changesets. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
11 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
12 Category A: no parents are obsolete |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
13 Testcase 2: no conflict: both sides amended content changes (non-conflicting changes in same file) |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
14 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
15 A.2 both sides amended content changes |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
16 ====================================== |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
17 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
18 .. (Divergence reason): |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
19 .. local: amended some content changes in same file as "other" but non-conflicting |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
20 .. other: amended some content changes in same file as "local" but non-conflicting |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
21 .. Where we show that since both side amended some content changes without any relocation, |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
22 .. the most reasonable behaviour is to simply perform 3-way merge. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
23 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
24 .. (local): |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
25 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
26 .. A ø⇠○ A' |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
27 .. |/ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
28 .. ● O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
29 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
30 .. (other): |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
31 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
32 .. A ø⇠○ A'' |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
33 .. |/ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
34 .. ● O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
35 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
36 .. (Resolution): |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
37 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
38 .. ○ A''' |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
39 .. | |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
40 .. ● O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
41 .. |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
42 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
43 Setup |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
44 ----- |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
45 $ . $TESTDIR/testlib/content-divergence-util.sh |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
46 $ setuprepos A.2 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
47 creating test repo for test case A.2 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
48 - upstream |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
49 - local |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
50 - other |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
51 cd into `local` and proceed with env setup |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
52 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
53 initial |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
54 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
55 $ cd local |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
56 $ mkcommit A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
57 $ hg push -q |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
58 $ sed -i '1ifoo' A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
59 $ hg amend -m "A1" |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
60 $ hg log -G --hidden |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
61 @ 2:e1f7c24563ba (draft): A1 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
62 | |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
63 | x 1:28b51eb45704 (draft): A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
64 |/ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
65 o 0:a9bdc8b26820 (public): O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
66 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
67 $ cd ../other |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
68 $ hg pull -uq |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
69 $ echo bar >> A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
70 $ hg amend |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
71 $ hg push -q |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
72 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
73 $ cd ../local |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
74 $ hg pull -q |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
75 2 new content-divergent changesets |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
76 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
77 Actual test of resolution |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
78 ------------------------- |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
79 $ hg evolve -l |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
80 e1f7c24563ba: A1 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
81 content-divergent: 5fbe90f37421 (draft) (precursor 28b51eb45704) |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
82 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
83 5fbe90f37421: A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
84 content-divergent: e1f7c24563ba (draft) (precursor 28b51eb45704) |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
85 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
86 $ hg log -G --hidden |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
87 * 3:5fbe90f37421 (draft): A0 [content-divergent] |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
88 | |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
89 | @ 2:e1f7c24563ba (draft): A1 [content-divergent] |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
90 |/ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
91 | x 1:28b51eb45704 (draft): A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
92 |/ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
93 o 0:a9bdc8b26820 (public): O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
94 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
95 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
96 $ hg evolve --content-divergent |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
97 merge:[2] A1 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
98 with: [3] A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
99 base: [1] A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
100 merging A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
101 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
102 working directory is now at 414367a5568a |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
103 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
104 $ hg log -Gp |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
105 @ 4:414367a5568a (draft): A1 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
106 | diff -r a9bdc8b26820 -r 414367a5568a A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
107 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
108 | +++ b/A0 Thu Jan 01 00:00:00 1970 +0000 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
109 | @@ -0,0 +1,3 @@ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
110 | +foo |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
111 | +A0 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
112 | +bar |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
113 | |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
114 o 0:a9bdc8b26820 (public): O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
115 diff -r 000000000000 -r a9bdc8b26820 O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
116 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
117 +++ b/O Thu Jan 01 00:00:00 1970 +0000 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
118 @@ -0,0 +1,1 @@ |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
119 +O |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
120 |
3216855846dd
evolve: add test coverage for content-div case A2
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
121 $ hg evolve -l |