annotate tests/test-merge-relaxed-block-sync.t @ 52274:6aa4ee2bb128 stable

contrib: add a script to build all of the wheels on macOS This is mostly a translation of `contrib/packaging/build-windows-wheels.bat`, except the default pythons to build can be inferred from `setup.py` and/or `pyproject.toml`, and all use the same configuration. All we need to do is force the building of translation files, tell it to skip pypy wheels, and tell it to build universal2 wheels instead of for the current architecture.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 15 Nov 2024 21:52:31 -0500
parents a021da4ec509
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
52081
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
1 ==============================================
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
2 Test merge algorithm with "relaxed block sync"
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
3 ==============================================
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
4
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
5 Setup
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
6 =====
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
7
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
8 $ cat >> $HGRCPATH << EOF
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
9 > [experimental]
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
10 > relaxed-block-sync-merge=yes
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
11 > [ui]
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
12 > merge=:merge3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
13 > EOF
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
14 $ unset HGMERGE
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
15
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
16 $ hg init repo
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
17 $ cd repo
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
18
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
19 $ m=../scratch
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
20 $ mkdir "$m"
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
21
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
22 # For the purpose of this test, we use a file [listing] that has one line
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
23 # per file of [scratch] directory.
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
24 # This way, the patches can be represented as bash scripts.
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
25 #
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
26 # Adding a line is then just "touch", removing a line is "rm", and
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
27 # modifying a line is "echo modfied > file1".
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
28
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
29 # Make_change takes a "patch script", as described above, and
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
30 # produces a file [listing] with the coresponding contents
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
31 # past applying the patch to a fixed base state.
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
32 $ make_change() {
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
33 > cmd=$1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
34 > rm -r ../scratch
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
35 > mkdir ../scratch
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
36 > (cat listing 2>/dev/null || true) | while IFS=' :' read k v; do echo "$v" > ../scratch/"$k"; done
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
37 >
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
38 > (
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
39 > cd ../scratch
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
40 > eval "$cmd" >&2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
41 > for f in *; do val=$(cat "$f"); printf "$f: $val\n"; done) > listing
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
42 > }
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
43
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
44 # mk_rev takes a [base] and a patch, and produces a child revision of [base]
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
45 # corresponding to that patch.
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
46 $ mk_rev() {
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
47 > base=$1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
48 > cmd=$2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
49 > (hg update -C "$base" -q
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
50 > make_change "$cmd"
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
51 > (hg commit -qAm _ 2>&1) | grep -v 'commit already existed') >&2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
52 > hg log -r . -T '{rev}'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
53 > }
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
54
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
55 $ test() {
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
56 > cmd1=$1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
57 > cmd2=$2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
58 > r2=$(mk_rev 0 "$cmd2")
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
59 > r1=$(mk_rev 0 "$cmd1")
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
60 > # already at r1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
61 > hg merge -q "$r2"
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
62 > cat listing
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
63 > }
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
64
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
65 $ rev0=$(mk_rev 'rev(-1)' 'echo val1 > key1; echo val2 > key2; echo val3 > key3; ')
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
66 $ cat listing
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
67 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
68 key2: val2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
69 key3: val3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
70
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
71 Actual testing
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
72 ==============
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
73
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
74 easy merge: no need for relaxed block sync:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
75 -------------------------------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
76
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
77 $ test 'echo modified1 > key1' 'echo modified3 > key3'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
78 key1: modified1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
79 key2: val2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
80 key3: modified3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
81
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
82 Add adjacent to modify:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
83 -----------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
84
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
85 $ test 'echo modified > key3' 'echo val4 > key4'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
86 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
87 key2: val2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
88 key3: modified
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
89 key4: val4
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
90
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
91 Modify adjacent to modify:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
92 --------------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
93
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
94 $ test 'echo modified3 > key3' 'echo modified2 > key2'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
95 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
96 key2: modified2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
97 key3: modified3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
98
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
99 Remove adjacent to modify:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
100 --------------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
101
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
102 $ test 'rm key2' 'echo modified > key1'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
103 key1: modified
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
104 key3: val3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
105
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
106 Add adjacent to remove:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
107 -----------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
108
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
109 $ test 'rm key2' 'touch key1a'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
110 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
111 key1a:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
112 key3: val3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
113
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
114 Remove adjacent to remove:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
115 --------------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
116
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
117 $ test 'rm key2' 'rm key1'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
118 key3: val3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
119
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
120 It even works if you're sandwiched between additions above and below:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
121
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
122 $ test 'echo val-changed-3 > key3' 'touch key2a; touch key4'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
123 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
124 key2: val2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
125 key2a:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
126 key3: val-changed-3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
127 key4:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
128
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
129 Add adjacent to add:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
130 --------------------
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
131
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
132 Add adjacent to add is still disallowed because we don't know what order to add
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
133 lines in:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
134
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
135 $ test 'touch key1a' 'touch key1b'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
136 warning: conflicts while merging listing! (edit, then use 'hg resolve --mark')
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
137 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
138 <<<<<<< working copy: 744662bcc33a - test: _
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
139 key1a:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
140 ||||||| common ancestor: b1791e356cd4 - test: _
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
141 =======
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
142 key1b:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
143 >>>>>>> merge rev: 06735b47f956 - test: _
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
144 key2: val2
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
145 key3: val3
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
146
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
147 Add kinda-adjacent to add can still work if there's an
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
148 adjacent line that helps resolve the order ambiguity:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
149
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
150 $ test 'touch key1a; rm key2' 'touch key2a'
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
151 key1: val1
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
152 key1a:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
153 key2a:
a021da4ec509 merge: add a config to allow conflict-free merge of changes on adjacent lines
Arseniy Alekseyev <aalekseyev@janestreet.com
parents:
diff changeset
154 key3: val3