Mercurial > evolve
annotate tests/test-evolve-content-divergent-case-A2.t @ 5917:94aed9c7ce69 stable
next: refactor two if blocks into an if-elif block
We already checked the value of `needevolve and opts['evolve']` in the first if
block above. In the first one it need to be True, in the second it needs to be
False for the statements to execute. Since not(a or b) = not a and not b, we
can join the second if block to the first one with an elif while dropping the
explicit check.
For me, this works better, because we're doing the same thing in both of these
blocks (checking if working copy is dirty or not).
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 15 May 2021 20:40:19 +0800 |
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 |