annotate tests/test-evolve-content-divergent-case-A2.t @ 5635:a34b5cf906c6 mercurial-5.2

test-compat: merge mercurial-5.3 into mercurial-5.2 # no-check-commit
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 31 Oct 2020 19:05:48 +0800
parents 3216855846dd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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