Fossil SCM

Enhance the merge-conflict notation to show both the two recent versions and also the common ancestor version.

drh 2011-04-18 23:46 trunk
Commit 792a3bc94afe729512da8ce1a6edd7b0f29b1c5b
+11 -8
--- src/merge3.c
+++ src/merge3.c
@@ -153,15 +153,17 @@
153153
int i1, i2; /* Index into aC1[] and aC2[] */
154154
int nCpy, nDel, nIns; /* Number of lines to copy, delete, or insert */
155155
int limit1, limit2; /* Sizes of aC1[] and aC2[] */
156156
int nConflict = 0; /* Number of merge conflicts seen so far */
157157
static const char zBegin[] =
158
- "<<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<\n";
159
- static const char zMid[] =
160
- "======= original content above; conflict below =============\n";
158
+ "<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<\n";
159
+ static const char zMid1[] =
160
+ "======= COMMON ANCESTOR content follows ============================\n";
161
+ static const char zMid2[] =
162
+ "======= MERGED IN content follows ==================================\n";
161163
static const char zEnd[] =
162
- ">>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>\n";
164
+ ">>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n";
163165
164166
blob_zero(pOut); /* Merge results stored in pOut */
165167
166168
/* Compute the edits that occur from pPivot => pV1 (into aC1)
167169
** and pPivot => pV2 (into aC2). Each of the aC1 and aC2 arrays is
@@ -192,11 +194,11 @@
192194
DEBUG(
193195
for(i1=0; i1<limit1; i1+=3){
194196
printf("c1: %4d %4d %4d\n", aC1[i1], aC1[i1+1], aC1[i1+2]);
195197
}
196198
for(i2=0; i2<limit2; i2+=3){
197
- printf("c2: %4d %4d %4d\n", aC2[i2], aC2[i2+1], aC2[i2+2]);
199
+ printf("c2: %4d %4d %4d\n", aC2[i2], aC2[i2+1], aC2[i2+2]);
198200
}
199201
)
200202
201203
/* Loop over the two edit vectors and use them to compute merged text
202204
** which is written into pOut. i1 and i2 are multiples of 3 which are
@@ -264,15 +266,16 @@
264266
sz++;
265267
}
266268
DEBUG( printf("CONFLICT %d\n", sz); )
267269
blob_appendf(pOut, zBegin);
268270
i1 = output_one_side(pOut, pV1, aC1, i1, sz);
269
- blob_appendf(pOut, zMid);
271
+ blob_appendf(pOut, zMid1);
272
+ blob_copy_lines(pOut, pPivot, sz);
273
+ blob_appendf(pOut, zMid2);
270274
i2 = output_one_side(pOut, pV2, aC2, i2, sz);
271275
blob_appendf(pOut, zEnd);
272
- blob_copy_lines(0, pPivot, sz);
273
- }
276
+ }
274277
275278
/* If we are finished with an edit triple, advance to the next
276279
** triple.
277280
*/
278281
if( i1<limit1 && aC1[i1]==0 && aC1[i1+1]==0 && aC1[i1+2]==0 ) i1+=3;
279282
--- src/merge3.c
+++ src/merge3.c
@@ -153,15 +153,17 @@
153 int i1, i2; /* Index into aC1[] and aC2[] */
154 int nCpy, nDel, nIns; /* Number of lines to copy, delete, or insert */
155 int limit1, limit2; /* Sizes of aC1[] and aC2[] */
156 int nConflict = 0; /* Number of merge conflicts seen so far */
157 static const char zBegin[] =
158 "<<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<\n";
159 static const char zMid[] =
160 "======= original content above; conflict below =============\n";
 
 
161 static const char zEnd[] =
162 ">>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>\n";
163
164 blob_zero(pOut); /* Merge results stored in pOut */
165
166 /* Compute the edits that occur from pPivot => pV1 (into aC1)
167 ** and pPivot => pV2 (into aC2). Each of the aC1 and aC2 arrays is
@@ -192,11 +194,11 @@
192 DEBUG(
193 for(i1=0; i1<limit1; i1+=3){
194 printf("c1: %4d %4d %4d\n", aC1[i1], aC1[i1+1], aC1[i1+2]);
195 }
196 for(i2=0; i2<limit2; i2+=3){
197 printf("c2: %4d %4d %4d\n", aC2[i2], aC2[i2+1], aC2[i2+2]);
198 }
199 )
200
201 /* Loop over the two edit vectors and use them to compute merged text
202 ** which is written into pOut. i1 and i2 are multiples of 3 which are
@@ -264,15 +266,16 @@
264 sz++;
265 }
266 DEBUG( printf("CONFLICT %d\n", sz); )
267 blob_appendf(pOut, zBegin);
268 i1 = output_one_side(pOut, pV1, aC1, i1, sz);
269 blob_appendf(pOut, zMid);
 
 
270 i2 = output_one_side(pOut, pV2, aC2, i2, sz);
271 blob_appendf(pOut, zEnd);
272 blob_copy_lines(0, pPivot, sz);
273 }
274
275 /* If we are finished with an edit triple, advance to the next
276 ** triple.
277 */
278 if( i1<limit1 && aC1[i1]==0 && aC1[i1+1]==0 && aC1[i1+2]==0 ) i1+=3;
279
--- src/merge3.c
+++ src/merge3.c
@@ -153,15 +153,17 @@
153 int i1, i2; /* Index into aC1[] and aC2[] */
154 int nCpy, nDel, nIns; /* Number of lines to copy, delete, or insert */
155 int limit1, limit2; /* Sizes of aC1[] and aC2[] */
156 int nConflict = 0; /* Number of merge conflicts seen so far */
157 static const char zBegin[] =
158 "<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<\n";
159 static const char zMid1[] =
160 "======= COMMON ANCESTOR content follows ============================\n";
161 static const char zMid2[] =
162 "======= MERGED IN content follows ==================================\n";
163 static const char zEnd[] =
164 ">>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n";
165
166 blob_zero(pOut); /* Merge results stored in pOut */
167
168 /* Compute the edits that occur from pPivot => pV1 (into aC1)
169 ** and pPivot => pV2 (into aC2). Each of the aC1 and aC2 arrays is
@@ -192,11 +194,11 @@
194 DEBUG(
195 for(i1=0; i1<limit1; i1+=3){
196 printf("c1: %4d %4d %4d\n", aC1[i1], aC1[i1+1], aC1[i1+2]);
197 }
198 for(i2=0; i2<limit2; i2+=3){
199 printf("c2: %4d %4d %4d\n", aC2[i2], aC2[i2+1], aC2[i2+2]);
200 }
201 )
202
203 /* Loop over the two edit vectors and use them to compute merged text
204 ** which is written into pOut. i1 and i2 are multiples of 3 which are
@@ -264,15 +266,16 @@
266 sz++;
267 }
268 DEBUG( printf("CONFLICT %d\n", sz); )
269 blob_appendf(pOut, zBegin);
270 i1 = output_one_side(pOut, pV1, aC1, i1, sz);
271 blob_appendf(pOut, zMid1);
272 blob_copy_lines(pOut, pPivot, sz);
273 blob_appendf(pOut, zMid2);
274 i2 = output_one_side(pOut, pV2, aC2, i2, sz);
275 blob_appendf(pOut, zEnd);
276 }
 
277
278 /* If we are finished with an edit triple, advance to the next
279 ** triple.
280 */
281 if( i1<limit1 && aC1[i1]==0 && aC1[i1+1]==0 && aC1[i1+2]==0 ) i1+=3;
282
+44 -18
--- test/merge1.test
+++ test/merge1.test
@@ -71,26 +71,30 @@
7171
333 - This is a test of the merging algohm - 3333
7272
444 - If all goes well, we will be pleased - 4444
7373
555 - we think it well and other stuff too - 5555
7474
}
7575
write_file_indented t23 {
76
- <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
76
+ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
7777
111 - This is line ONE of the demo program - 1111
78
- ======= original content above; conflict below =============
78
+ ======= COMMON ANCESTOR content follows ============================
79
+ 111 - This is line one of the demo program - 1111
80
+ ======= MERGED IN content follows ==================================
7981
111 - This is line one OF the demo program - 1111
80
- >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
82
+ >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
8183
222 - The second line program line in code - 2222
8284
333 - This is a test of the merging algohm - 3333
8385
444 - If all goes well, we will be pleased - 4444
8486
555 - we think it well and other stuff too - 5555
8587
}
8688
write_file_indented t32 {
87
- <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
89
+ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
8890
111 - This is line one OF the demo program - 1111
89
- ======= original content above; conflict below =============
91
+ ======= COMMON ANCESTOR content follows ============================
92
+ 111 - This is line one of the demo program - 1111
93
+ ======= MERGED IN content follows ==================================
9094
111 - This is line ONE of the demo program - 1111
91
- >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
95
+ >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
9296
222 - The second line program line in code - 2222
9397
333 - This is a test of the merging algohm - 3333
9498
444 - If all goes well, we will be pleased - 4444
9599
555 - we think it well and other stuff too - 5555
96100
}
@@ -152,26 +156,30 @@
152156
333 - This is a test of the merging algohm - 3333
153157
444 - If all goes well, we will be pleased - 4444
154158
555 - we think it well and other stuff too - 5555
155159
}
156160
write_file_indented t32 {
157
- <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
158
- ======= original content above; conflict below =============
161
+ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
162
+ ======= COMMON ANCESTOR content follows ============================
163
+ 111 - This is line one of the demo program - 1111
164
+ ======= MERGED IN content follows ==================================
159165
000 - Zero lines added to the beginning of - 0000
160166
111 - This is line one of the demo program - 1111
161
- >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
167
+ >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
162168
222 - The second line program line in code - 2222
163169
333 - This is a test of the merging algohm - 3333
164170
444 - If all goes well, we will be pleased - 4444
165171
555 - we think it well and other stuff too - 5555
166172
}
167173
write_file_indented t23 {
168
- <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
174
+ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
169175
000 - Zero lines added to the beginning of - 0000
170176
111 - This is line one of the demo program - 1111
171
- ======= original content above; conflict below =============
172
- >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
177
+ ======= COMMON ANCESTOR content follows ============================
178
+ 111 - This is line one of the demo program - 1111
179
+ ======= MERGED IN content follows ==================================
180
+ >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
173181
222 - The second line program line in code - 2222
174182
333 - This is a test of the merging algohm - 3333
175183
444 - If all goes well, we will be pleased - 4444
176184
555 - we think it well and other stuff too - 5555
177185
}
@@ -287,29 +295,38 @@
287295
STUV
288296
XYZ.
289297
}
290298
write_file_indented t23 {
291299
abcd
292
- <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
300
+ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
293301
efgh 2
294302
ijkl 2
295303
mnop 2
296304
qrst
297305
uvwx
298306
yzAB 2
299307
CDEF 2
300308
GHIJ 2
301
- ======= original content above; conflict below =============
309
+ ======= COMMON ANCESTOR content follows ============================
310
+ efgh
311
+ ijkl
312
+ mnop
313
+ qrst
314
+ uvwx
315
+ yzAB
316
+ CDEF
317
+ GHIJ
318
+ ======= MERGED IN content follows ==================================
302319
efgh
303320
ijkl
304321
mnop 3
305322
qrst 3
306323
uvwx 3
307324
yzAB 3
308325
CDEF
309326
GHIJ
310
- >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
327
+ >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
311328
KLMN
312329
OPQR
313330
STUV
314331
XYZ.
315332
}
@@ -346,31 +363,40 @@
346363
STUV
347364
XYZ.
348365
}
349366
write_file_indented t23 {
350367
abcd
351
- <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
368
+ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
352369
efgh 2
353370
ijkl 2
354371
mnop
355372
qrst
356373
uvwx
357374
yzAB 2
358375
CDEF 2
359376
GHIJ 2
360
- ======= original content above; conflict below =============
377
+ ======= COMMON ANCESTOR content follows ============================
378
+ efgh
379
+ ijkl
380
+ mnop
381
+ qrst
382
+ uvwx
383
+ yzAB
384
+ CDEF
385
+ GHIJ
386
+ ======= MERGED IN content follows ==================================
361387
efgh
362388
ijkl
363389
mnop 3
364390
qrst 3
365391
uvwx 3
366392
yzAB 3
367393
CDEF
368394
GHIJ
369
- >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
395
+ >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
370396
KLMN
371397
OPQR
372398
STUV
373399
XYZ.
374400
}
375401
fossil test-3 t1 t2 t3 a23
376402
test merge1-7.2 {[same_file t23 a23]}
377403
--- test/merge1.test
+++ test/merge1.test
@@ -71,26 +71,30 @@
71 333 - This is a test of the merging algohm - 3333
72 444 - If all goes well, we will be pleased - 4444
73 555 - we think it well and other stuff too - 5555
74 }
75 write_file_indented t23 {
76 <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
77 111 - This is line ONE of the demo program - 1111
78 ======= original content above; conflict below =============
 
 
79 111 - This is line one OF the demo program - 1111
80 >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
81 222 - The second line program line in code - 2222
82 333 - This is a test of the merging algohm - 3333
83 444 - If all goes well, we will be pleased - 4444
84 555 - we think it well and other stuff too - 5555
85 }
86 write_file_indented t32 {
87 <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
88 111 - This is line one OF the demo program - 1111
89 ======= original content above; conflict below =============
 
 
90 111 - This is line ONE of the demo program - 1111
91 >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
92 222 - The second line program line in code - 2222
93 333 - This is a test of the merging algohm - 3333
94 444 - If all goes well, we will be pleased - 4444
95 555 - we think it well and other stuff too - 5555
96 }
@@ -152,26 +156,30 @@
152 333 - This is a test of the merging algohm - 3333
153 444 - If all goes well, we will be pleased - 4444
154 555 - we think it well and other stuff too - 5555
155 }
156 write_file_indented t32 {
157 <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
158 ======= original content above; conflict below =============
 
 
159 000 - Zero lines added to the beginning of - 0000
160 111 - This is line one of the demo program - 1111
161 >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
162 222 - The second line program line in code - 2222
163 333 - This is a test of the merging algohm - 3333
164 444 - If all goes well, we will be pleased - 4444
165 555 - we think it well and other stuff too - 5555
166 }
167 write_file_indented t23 {
168 <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
169 000 - Zero lines added to the beginning of - 0000
170 111 - This is line one of the demo program - 1111
171 ======= original content above; conflict below =============
172 >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
 
 
173 222 - The second line program line in code - 2222
174 333 - This is a test of the merging algohm - 3333
175 444 - If all goes well, we will be pleased - 4444
176 555 - we think it well and other stuff too - 5555
177 }
@@ -287,29 +295,38 @@
287 STUV
288 XYZ.
289 }
290 write_file_indented t23 {
291 abcd
292 <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
293 efgh 2
294 ijkl 2
295 mnop 2
296 qrst
297 uvwx
298 yzAB 2
299 CDEF 2
300 GHIJ 2
301 ======= original content above; conflict below =============
 
 
 
 
 
 
 
 
 
302 efgh
303 ijkl
304 mnop 3
305 qrst 3
306 uvwx 3
307 yzAB 3
308 CDEF
309 GHIJ
310 >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
311 KLMN
312 OPQR
313 STUV
314 XYZ.
315 }
@@ -346,31 +363,40 @@
346 STUV
347 XYZ.
348 }
349 write_file_indented t23 {
350 abcd
351 <<<<<<< BEGIN MERGE CONFLICT: original content first <<<<<<<
352 efgh 2
353 ijkl 2
354 mnop
355 qrst
356 uvwx
357 yzAB 2
358 CDEF 2
359 GHIJ 2
360 ======= original content above; conflict below =============
 
 
 
 
 
 
 
 
 
361 efgh
362 ijkl
363 mnop 3
364 qrst 3
365 uvwx 3
366 yzAB 3
367 CDEF
368 GHIJ
369 >>>>>>> END MERGE CONFLICT: conflict last >>>>>>>>>>>>>>>>>>
370 KLMN
371 OPQR
372 STUV
373 XYZ.
374 }
375 fossil test-3 t1 t2 t3 a23
376 test merge1-7.2 {[same_file t23 a23]}
377
--- test/merge1.test
+++ test/merge1.test
@@ -71,26 +71,30 @@
71 333 - This is a test of the merging algohm - 3333
72 444 - If all goes well, we will be pleased - 4444
73 555 - we think it well and other stuff too - 5555
74 }
75 write_file_indented t23 {
76 <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
77 111 - This is line ONE of the demo program - 1111
78 ======= COMMON ANCESTOR content follows ============================
79 111 - This is line one of the demo program - 1111
80 ======= MERGED IN content follows ==================================
81 111 - This is line one OF the demo program - 1111
82 >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
83 222 - The second line program line in code - 2222
84 333 - This is a test of the merging algohm - 3333
85 444 - If all goes well, we will be pleased - 4444
86 555 - we think it well and other stuff too - 5555
87 }
88 write_file_indented t32 {
89 <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
90 111 - This is line one OF the demo program - 1111
91 ======= COMMON ANCESTOR content follows ============================
92 111 - This is line one of the demo program - 1111
93 ======= MERGED IN content follows ==================================
94 111 - This is line ONE of the demo program - 1111
95 >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
96 222 - The second line program line in code - 2222
97 333 - This is a test of the merging algohm - 3333
98 444 - If all goes well, we will be pleased - 4444
99 555 - we think it well and other stuff too - 5555
100 }
@@ -152,26 +156,30 @@
156 333 - This is a test of the merging algohm - 3333
157 444 - If all goes well, we will be pleased - 4444
158 555 - we think it well and other stuff too - 5555
159 }
160 write_file_indented t32 {
161 <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
162 ======= COMMON ANCESTOR content follows ============================
163 111 - This is line one of the demo program - 1111
164 ======= MERGED IN content follows ==================================
165 000 - Zero lines added to the beginning of - 0000
166 111 - This is line one of the demo program - 1111
167 >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
168 222 - The second line program line in code - 2222
169 333 - This is a test of the merging algohm - 3333
170 444 - If all goes well, we will be pleased - 4444
171 555 - we think it well and other stuff too - 5555
172 }
173 write_file_indented t23 {
174 <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
175 000 - Zero lines added to the beginning of - 0000
176 111 - This is line one of the demo program - 1111
177 ======= COMMON ANCESTOR content follows ============================
178 111 - This is line one of the demo program - 1111
179 ======= MERGED IN content follows ==================================
180 >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
181 222 - The second line program line in code - 2222
182 333 - This is a test of the merging algohm - 3333
183 444 - If all goes well, we will be pleased - 4444
184 555 - we think it well and other stuff too - 5555
185 }
@@ -287,29 +295,38 @@
295 STUV
296 XYZ.
297 }
298 write_file_indented t23 {
299 abcd
300 <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
301 efgh 2
302 ijkl 2
303 mnop 2
304 qrst
305 uvwx
306 yzAB 2
307 CDEF 2
308 GHIJ 2
309 ======= COMMON ANCESTOR content follows ============================
310 efgh
311 ijkl
312 mnop
313 qrst
314 uvwx
315 yzAB
316 CDEF
317 GHIJ
318 ======= MERGED IN content follows ==================================
319 efgh
320 ijkl
321 mnop 3
322 qrst 3
323 uvwx 3
324 yzAB 3
325 CDEF
326 GHIJ
327 >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
328 KLMN
329 OPQR
330 STUV
331 XYZ.
332 }
@@ -346,31 +363,40 @@
363 STUV
364 XYZ.
365 }
366 write_file_indented t23 {
367 abcd
368 <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
369 efgh 2
370 ijkl 2
371 mnop
372 qrst
373 uvwx
374 yzAB 2
375 CDEF 2
376 GHIJ 2
377 ======= COMMON ANCESTOR content follows ============================
378 efgh
379 ijkl
380 mnop
381 qrst
382 uvwx
383 yzAB
384 CDEF
385 GHIJ
386 ======= MERGED IN content follows ==================================
387 efgh
388 ijkl
389 mnop 3
390 qrst 3
391 uvwx 3
392 yzAB 3
393 CDEF
394 GHIJ
395 >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
396 KLMN
397 OPQR
398 STUV
399 XYZ.
400 }
401 fossil test-3 t1 t2 t3 a23
402 test merge1-7.2 {[same_file t23 a23]}
403
+30 -28
--- test/merge3.test
+++ test/merge3.test
@@ -22,13 +22,15 @@
2222
write_file t1 [join [string trim $basis] \n]\n
2323
write_file t2 [join [string trim $v1] \n]\n
2424
write_file t3 [join [string trim $v2] \n]\n
2525
fossil test-3-way-merge t1 t2 t3 t4
2626
set x [read_file t4]
27
- regsub -all {<<<<<<< BEGIN MERGE CONFLICT:.*<} $x {>} x
28
- regsub -all {======= original content.*======} $x {=} x
29
- regsub -all {>>>>>>> END MERGE CONFLICT:.*>>>} $x {<} x
27
+ regsub -all {<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <+} $x \
28
+ {MINE:} x
29
+ regsub -all {======= COMMON ANCESTOR content follows =+} $x {COM:} x
30
+ regsub -all {======= MERGED IN content follows =+} $x {YOURS:} x
31
+ regsub -all {>>>>>>> END MERGE CONFLICT >+} $x {END} x
3032
set x [split [string trim $x] \n]
3133
set result [string trim $result]
3234
if {$x!=$result} {
3335
protOut " Expected \[$result\]"
3436
protOut " Got \[$x\]"
@@ -62,56 +64,56 @@
6264
} {
6365
1 2 3b 4b 5b 6 7 8 9
6466
} {
6567
1 2 3 4 5c 6 7 8 9
6668
} {
67
- 1 2 > 3b 4b 5b = 3 4 5c < 6 7 8 9
69
+ 1 2 MINE: 3b 4b 5b COM: 3 4 5 YOURS: 3 4 5c END 6 7 8 9
6870
}
6971
merge-test 4 {
7072
1 2 3 4 5 6 7 8 9
7173
} {
7274
1 2 3b 4b 5b 6b 7 8 9
7375
} {
7476
1 2 3 4 5c 6 7 8 9
7577
} {
76
- 1 2 > 3b 4b 5b 6b = 3 4 5c 6 < 7 8 9
78
+ 1 2 MINE: 3b 4b 5b 6b COM: 3 4 5 6 YOURS: 3 4 5c 6 END 7 8 9
7779
}
7880
merge-test 5 {
7981
1 2 3 4 5 6 7 8 9
8082
} {
8183
1 2 3b 4b 5b 6b 7 8 9
8284
} {
8385
1 2 3 4 5c 6c 7c 8 9
8486
} {
85
- 1 2 > 3b 4b 5b 6b 7 = 3 4 5c 6c 7c < 8 9
87
+ 1 2 MINE: 3b 4b 5b 6b 7 COM: 3 4 5 6 7 YOURS: 3 4 5c 6c 7c END 8 9
8688
}
8789
merge-test 6 {
8890
1 2 3 4 5 6 7 8 9
8991
} {
9092
1 2 3b 4b 5b 6b 7 8b 9
9193
} {
9294
1 2 3 4 5c 6c 7c 8 9
9395
} {
94
- 1 2 > 3b 4b 5b 6b 7 = 3 4 5c 6c 7c < 8b 9
96
+ 1 2 MINE: 3b 4b 5b 6b 7 COM: 3 4 5 6 7 YOURS: 3 4 5c 6c 7c END 8b 9
9597
}
9698
merge-test 7 {
9799
1 2 3 4 5 6 7 8 9
98100
} {
99101
1 2 3b 4b 5b 6b 7 8b 9
100102
} {
101103
1 2 3 4 5c 6c 7c 8c 9
102104
} {
103
- 1 2 > 3b 4b 5b 6b 7 8b = 3 4 5c 6c 7c 8c < 9
105
+ 1 2 MINE: 3b 4b 5b 6b 7 8b COM: 3 4 5 6 7 8 YOURS: 3 4 5c 6c 7c 8c END 9
104106
}
105107
merge-test 8 {
106108
1 2 3 4 5 6 7 8 9
107109
} {
108110
1 2 3b 4b 5b 6b 7 8b 9b
109111
} {
110112
1 2 3 4 5c 6c 7c 8c 9
111113
} {
112
- 1 2 > 3b 4b 5b 6b 7 8b 9b = 3 4 5c 6c 7c 8c 9 <
114
+ 1 2 MINE: 3b 4b 5b 6b 7 8b 9b COM: 3 4 5 6 7 8 9 YOURS: 3 4 5c 6c 7c 8c 9 END
113115
}
114116
merge-test 9 {
115117
1 2 3 4 5 6 7 8 9
116118
} {
117119
1 2 3b 4b 5 6 7 8b 9b
@@ -135,11 +137,11 @@
135137
} {
136138
1 2 3b 4b 5 6 7 8b 9b
137139
} {
138140
1 2 3b 4c 5 6c 7c 8 9
139141
} {
140
- 1 2 > 3b 4b = 3b 4c < 5 6c 7c 8b 9b
142
+ 1 2 MINE: 3b 4b COM: 3 4 YOURS: 3b 4c END 5 6c 7c 8b 9b
141143
}
142144
merge-test 12 {
143145
1 2 3 4 5 6 7 8 9
144146
} {
145147
1 2 3b4b 5 6 7 8b 9b
@@ -190,20 +192,20 @@
190192
} {
191193
1 6 7 8 9
192194
} {
193195
1 2 3 4 9
194196
} {
195
- 1 > 6 7 8 = 2 3 4 < 9
197
+ 1 MINE: 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END 9
196198
}
197199
merge-test 25 {
198200
1 2 3 4 5 6 7 8 9
199201
} {
200202
1 7 8 9
201203
} {
202204
1 2 3 9
203205
} {
204
- 1 > 7 8 = 2 3 < 9
206
+ 1 MINE: 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END 9
205207
}
206208
207209
merge-test 30 {
208210
1 2 3 4 5 6 7 8 9
209211
} {
@@ -245,20 +247,20 @@
245247
} {
246248
1 2 3 4 9
247249
} {
248250
1 6 7 8 9
249251
} {
250
- 1 > 2 3 4 = 6 7 8 < 9
252
+ 1 MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 6 7 8 END 9
251253
}
252254
merge-test 35 {
253255
1 2 3 4 5 6 7 8 9
254256
} {
255257
1 2 3 9
256258
} {
257259
1 7 8 9
258260
} {
259
- 1 > 2 3 = 7 8 < 9
261
+ 1 MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 7 8 END 9
260262
}
261263
262264
merge-test 40 {
263265
2 3 4 5 6 7 8
264266
} {
@@ -300,20 +302,20 @@
300302
} {
301303
6 7 8
302304
} {
303305
2 3 4
304306
} {
305
- > 6 7 8 = 2 3 4 <
307
+ MINE: 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END
306308
}
307309
merge-test 45 {
308310
2 3 4 5 6 7 8
309311
} {
310312
7 8
311313
} {
312314
2 3
313315
} {
314
- > 7 8 = 2 3 <
316
+ MINE: 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END
315317
}
316318
317319
merge-test 50 {
318320
2 3 4 5 6 7 8
319321
} {
@@ -354,20 +356,20 @@
354356
} {
355357
2 3 4
356358
} {
357359
6 7 8
358360
} {
359
- > 2 3 4 = 6 7 8 <
361
+ MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 6 7 8 END
360362
}
361363
merge-test 55 {
362364
2 3 4 5 6 7 8
363365
} {
364366
2 3
365367
} {
366368
7 8
367369
} {
368
- > 2 3 = 7 8 <
370
+ MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 7 8 END
369371
}
370372
371373
merge-test 60 {
372374
1 2 3 4 5 6 7 8 9
373375
} {
@@ -409,20 +411,20 @@
409411
} {
410412
1 2b 3b 4b 5b 6 7 8 9
411413
} {
412414
1 2 3 4 9
413415
} {
414
- 1 > 2b 3b 4b 5b 6 7 8 = 2 3 4 < 9
416
+ 1 MINE: 2b 3b 4b 5b 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END 9
415417
}
416418
merge-test 65 {
417419
1 2 3 4 5 6 7 8 9
418420
} {
419421
1 2b 3b 4b 5b 6b 7 8 9
420422
} {
421423
1 2 3 9
422424
} {
423
- 1 > 2b 3b 4b 5b 6b 7 8 = 2 3 < 9
425
+ 1 MINE: 2b 3b 4b 5b 6b 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END 9
424426
}
425427
426428
merge-test 70 {
427429
1 2 3 4 5 6 7 8 9
428430
} {
@@ -464,20 +466,20 @@
464466
} {
465467
1 2 3 4 9
466468
} {
467469
1 2b 3b 4b 5b 6 7 8 9
468470
} {
469
- 1 > 2 3 4 = 2b 3b 4b 5b 6 7 8 < 9
471
+ 1 MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6 7 8 END 9
470472
}
471473
merge-test 75 {
472474
1 2 3 4 5 6 7 8 9
473475
} {
474476
1 2 3 9
475477
} {
476478
1 2b 3b 4b 5b 6b 7 8 9
477479
} {
478
- 1 > 2 3 = 2b 3b 4b 5b 6b 7 8 < 9
480
+ 1 MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6b 7 8 END 9
479481
}
480482
481483
merge-test 80 {
482484
2 3 4 5 6 7 8
483485
} {
@@ -519,20 +521,20 @@
519521
} {
520522
2b 3b 4b 5b 6 7 8
521523
} {
522524
2 3 4
523525
} {
524
- > 2b 3b 4b 5b 6 7 8 = 2 3 4 <
526
+ MINE: 2b 3b 4b 5b 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END
525527
}
526528
merge-test 85 {
527529
2 3 4 5 6 7 8
528530
} {
529531
2b 3b 4b 5b 6b 7 8
530532
} {
531533
2 3
532534
} {
533
- > 2b 3b 4b 5b 6b 7 8 = 2 3 <
535
+ MINE: 2b 3b 4b 5b 6b 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END
534536
}
535537
536538
merge-test 90 {
537539
2 3 4 5 6 7 8
538540
} {
@@ -574,20 +576,20 @@
574576
} {
575577
2 3 4
576578
} {
577579
2b 3b 4b 5b 6 7 8
578580
} {
579
- > 2 3 4 = 2b 3b 4b 5b 6 7 8 <
581
+ MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6 7 8 END
580582
}
581583
merge-test 95 {
582584
2 3 4 5 6 7 8
583585
} {
584586
2 3
585587
} {
586588
2b 3b 4b 5b 6b 7 8
587589
} {
588
- > 2 3 = 2b 3b 4b 5b 6b 7 8 <
590
+ MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6b 7 8 END
589591
}
590592
591593
merge-test 100 {
592594
1 2 3 4 5 6 7 8 9
593595
} {
@@ -620,16 +622,16 @@
620622
} {
621623
1 2 3 4 5 7 8 9b
622624
} {
623625
1 2 3 4 5 7 8 9b a b c d e
624626
} {
625
- 1 2 3 4 5 7 8 > 9b = 9b a b c d e <
627
+ 1 2 3 4 5 7 8 MINE: 9b COM: 9 YOURS: 9b a b c d e END
626628
}
627629
merge-test 104 {
628630
1 2 3 4 5 6 7 8 9
629631
} {
630632
1 2 3 4 5 7 8 9b a b c d e
631633
} {
632634
1 2 3 4 5 7 8 9b
633635
} {
634
- 1 2 3 4 5 7 8 > 9b a b c d e = 9b <
636
+ 1 2 3 4 5 7 8 MINE: 9b a b c d e COM: 9 YOURS: 9b END
635637
}
636638
--- test/merge3.test
+++ test/merge3.test
@@ -22,13 +22,15 @@
22 write_file t1 [join [string trim $basis] \n]\n
23 write_file t2 [join [string trim $v1] \n]\n
24 write_file t3 [join [string trim $v2] \n]\n
25 fossil test-3-way-merge t1 t2 t3 t4
26 set x [read_file t4]
27 regsub -all {<<<<<<< BEGIN MERGE CONFLICT:.*<} $x {>} x
28 regsub -all {======= original content.*======} $x {=} x
29 regsub -all {>>>>>>> END MERGE CONFLICT:.*>>>} $x {<} x
 
 
30 set x [split [string trim $x] \n]
31 set result [string trim $result]
32 if {$x!=$result} {
33 protOut " Expected \[$result\]"
34 protOut " Got \[$x\]"
@@ -62,56 +64,56 @@
62 } {
63 1 2 3b 4b 5b 6 7 8 9
64 } {
65 1 2 3 4 5c 6 7 8 9
66 } {
67 1 2 > 3b 4b 5b = 3 4 5c < 6 7 8 9
68 }
69 merge-test 4 {
70 1 2 3 4 5 6 7 8 9
71 } {
72 1 2 3b 4b 5b 6b 7 8 9
73 } {
74 1 2 3 4 5c 6 7 8 9
75 } {
76 1 2 > 3b 4b 5b 6b = 3 4 5c 6 < 7 8 9
77 }
78 merge-test 5 {
79 1 2 3 4 5 6 7 8 9
80 } {
81 1 2 3b 4b 5b 6b 7 8 9
82 } {
83 1 2 3 4 5c 6c 7c 8 9
84 } {
85 1 2 > 3b 4b 5b 6b 7 = 3 4 5c 6c 7c < 8 9
86 }
87 merge-test 6 {
88 1 2 3 4 5 6 7 8 9
89 } {
90 1 2 3b 4b 5b 6b 7 8b 9
91 } {
92 1 2 3 4 5c 6c 7c 8 9
93 } {
94 1 2 > 3b 4b 5b 6b 7 = 3 4 5c 6c 7c < 8b 9
95 }
96 merge-test 7 {
97 1 2 3 4 5 6 7 8 9
98 } {
99 1 2 3b 4b 5b 6b 7 8b 9
100 } {
101 1 2 3 4 5c 6c 7c 8c 9
102 } {
103 1 2 > 3b 4b 5b 6b 7 8b = 3 4 5c 6c 7c 8c < 9
104 }
105 merge-test 8 {
106 1 2 3 4 5 6 7 8 9
107 } {
108 1 2 3b 4b 5b 6b 7 8b 9b
109 } {
110 1 2 3 4 5c 6c 7c 8c 9
111 } {
112 1 2 > 3b 4b 5b 6b 7 8b 9b = 3 4 5c 6c 7c 8c 9 <
113 }
114 merge-test 9 {
115 1 2 3 4 5 6 7 8 9
116 } {
117 1 2 3b 4b 5 6 7 8b 9b
@@ -135,11 +137,11 @@
135 } {
136 1 2 3b 4b 5 6 7 8b 9b
137 } {
138 1 2 3b 4c 5 6c 7c 8 9
139 } {
140 1 2 > 3b 4b = 3b 4c < 5 6c 7c 8b 9b
141 }
142 merge-test 12 {
143 1 2 3 4 5 6 7 8 9
144 } {
145 1 2 3b4b 5 6 7 8b 9b
@@ -190,20 +192,20 @@
190 } {
191 1 6 7 8 9
192 } {
193 1 2 3 4 9
194 } {
195 1 > 6 7 8 = 2 3 4 < 9
196 }
197 merge-test 25 {
198 1 2 3 4 5 6 7 8 9
199 } {
200 1 7 8 9
201 } {
202 1 2 3 9
203 } {
204 1 > 7 8 = 2 3 < 9
205 }
206
207 merge-test 30 {
208 1 2 3 4 5 6 7 8 9
209 } {
@@ -245,20 +247,20 @@
245 } {
246 1 2 3 4 9
247 } {
248 1 6 7 8 9
249 } {
250 1 > 2 3 4 = 6 7 8 < 9
251 }
252 merge-test 35 {
253 1 2 3 4 5 6 7 8 9
254 } {
255 1 2 3 9
256 } {
257 1 7 8 9
258 } {
259 1 > 2 3 = 7 8 < 9
260 }
261
262 merge-test 40 {
263 2 3 4 5 6 7 8
264 } {
@@ -300,20 +302,20 @@
300 } {
301 6 7 8
302 } {
303 2 3 4
304 } {
305 > 6 7 8 = 2 3 4 <
306 }
307 merge-test 45 {
308 2 3 4 5 6 7 8
309 } {
310 7 8
311 } {
312 2 3
313 } {
314 > 7 8 = 2 3 <
315 }
316
317 merge-test 50 {
318 2 3 4 5 6 7 8
319 } {
@@ -354,20 +356,20 @@
354 } {
355 2 3 4
356 } {
357 6 7 8
358 } {
359 > 2 3 4 = 6 7 8 <
360 }
361 merge-test 55 {
362 2 3 4 5 6 7 8
363 } {
364 2 3
365 } {
366 7 8
367 } {
368 > 2 3 = 7 8 <
369 }
370
371 merge-test 60 {
372 1 2 3 4 5 6 7 8 9
373 } {
@@ -409,20 +411,20 @@
409 } {
410 1 2b 3b 4b 5b 6 7 8 9
411 } {
412 1 2 3 4 9
413 } {
414 1 > 2b 3b 4b 5b 6 7 8 = 2 3 4 < 9
415 }
416 merge-test 65 {
417 1 2 3 4 5 6 7 8 9
418 } {
419 1 2b 3b 4b 5b 6b 7 8 9
420 } {
421 1 2 3 9
422 } {
423 1 > 2b 3b 4b 5b 6b 7 8 = 2 3 < 9
424 }
425
426 merge-test 70 {
427 1 2 3 4 5 6 7 8 9
428 } {
@@ -464,20 +466,20 @@
464 } {
465 1 2 3 4 9
466 } {
467 1 2b 3b 4b 5b 6 7 8 9
468 } {
469 1 > 2 3 4 = 2b 3b 4b 5b 6 7 8 < 9
470 }
471 merge-test 75 {
472 1 2 3 4 5 6 7 8 9
473 } {
474 1 2 3 9
475 } {
476 1 2b 3b 4b 5b 6b 7 8 9
477 } {
478 1 > 2 3 = 2b 3b 4b 5b 6b 7 8 < 9
479 }
480
481 merge-test 80 {
482 2 3 4 5 6 7 8
483 } {
@@ -519,20 +521,20 @@
519 } {
520 2b 3b 4b 5b 6 7 8
521 } {
522 2 3 4
523 } {
524 > 2b 3b 4b 5b 6 7 8 = 2 3 4 <
525 }
526 merge-test 85 {
527 2 3 4 5 6 7 8
528 } {
529 2b 3b 4b 5b 6b 7 8
530 } {
531 2 3
532 } {
533 > 2b 3b 4b 5b 6b 7 8 = 2 3 <
534 }
535
536 merge-test 90 {
537 2 3 4 5 6 7 8
538 } {
@@ -574,20 +576,20 @@
574 } {
575 2 3 4
576 } {
577 2b 3b 4b 5b 6 7 8
578 } {
579 > 2 3 4 = 2b 3b 4b 5b 6 7 8 <
580 }
581 merge-test 95 {
582 2 3 4 5 6 7 8
583 } {
584 2 3
585 } {
586 2b 3b 4b 5b 6b 7 8
587 } {
588 > 2 3 = 2b 3b 4b 5b 6b 7 8 <
589 }
590
591 merge-test 100 {
592 1 2 3 4 5 6 7 8 9
593 } {
@@ -620,16 +622,16 @@
620 } {
621 1 2 3 4 5 7 8 9b
622 } {
623 1 2 3 4 5 7 8 9b a b c d e
624 } {
625 1 2 3 4 5 7 8 > 9b = 9b a b c d e <
626 }
627 merge-test 104 {
628 1 2 3 4 5 6 7 8 9
629 } {
630 1 2 3 4 5 7 8 9b a b c d e
631 } {
632 1 2 3 4 5 7 8 9b
633 } {
634 1 2 3 4 5 7 8 > 9b a b c d e = 9b <
635 }
636
--- test/merge3.test
+++ test/merge3.test
@@ -22,13 +22,15 @@
22 write_file t1 [join [string trim $basis] \n]\n
23 write_file t2 [join [string trim $v1] \n]\n
24 write_file t3 [join [string trim $v2] \n]\n
25 fossil test-3-way-merge t1 t2 t3 t4
26 set x [read_file t4]
27 regsub -all {<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <+} $x \
28 {MINE:} x
29 regsub -all {======= COMMON ANCESTOR content follows =+} $x {COM:} x
30 regsub -all {======= MERGED IN content follows =+} $x {YOURS:} x
31 regsub -all {>>>>>>> END MERGE CONFLICT >+} $x {END} x
32 set x [split [string trim $x] \n]
33 set result [string trim $result]
34 if {$x!=$result} {
35 protOut " Expected \[$result\]"
36 protOut " Got \[$x\]"
@@ -62,56 +64,56 @@
64 } {
65 1 2 3b 4b 5b 6 7 8 9
66 } {
67 1 2 3 4 5c 6 7 8 9
68 } {
69 1 2 MINE: 3b 4b 5b COM: 3 4 5 YOURS: 3 4 5c END 6 7 8 9
70 }
71 merge-test 4 {
72 1 2 3 4 5 6 7 8 9
73 } {
74 1 2 3b 4b 5b 6b 7 8 9
75 } {
76 1 2 3 4 5c 6 7 8 9
77 } {
78 1 2 MINE: 3b 4b 5b 6b COM: 3 4 5 6 YOURS: 3 4 5c 6 END 7 8 9
79 }
80 merge-test 5 {
81 1 2 3 4 5 6 7 8 9
82 } {
83 1 2 3b 4b 5b 6b 7 8 9
84 } {
85 1 2 3 4 5c 6c 7c 8 9
86 } {
87 1 2 MINE: 3b 4b 5b 6b 7 COM: 3 4 5 6 7 YOURS: 3 4 5c 6c 7c END 8 9
88 }
89 merge-test 6 {
90 1 2 3 4 5 6 7 8 9
91 } {
92 1 2 3b 4b 5b 6b 7 8b 9
93 } {
94 1 2 3 4 5c 6c 7c 8 9
95 } {
96 1 2 MINE: 3b 4b 5b 6b 7 COM: 3 4 5 6 7 YOURS: 3 4 5c 6c 7c END 8b 9
97 }
98 merge-test 7 {
99 1 2 3 4 5 6 7 8 9
100 } {
101 1 2 3b 4b 5b 6b 7 8b 9
102 } {
103 1 2 3 4 5c 6c 7c 8c 9
104 } {
105 1 2 MINE: 3b 4b 5b 6b 7 8b COM: 3 4 5 6 7 8 YOURS: 3 4 5c 6c 7c 8c END 9
106 }
107 merge-test 8 {
108 1 2 3 4 5 6 7 8 9
109 } {
110 1 2 3b 4b 5b 6b 7 8b 9b
111 } {
112 1 2 3 4 5c 6c 7c 8c 9
113 } {
114 1 2 MINE: 3b 4b 5b 6b 7 8b 9b COM: 3 4 5 6 7 8 9 YOURS: 3 4 5c 6c 7c 8c 9 END
115 }
116 merge-test 9 {
117 1 2 3 4 5 6 7 8 9
118 } {
119 1 2 3b 4b 5 6 7 8b 9b
@@ -135,11 +137,11 @@
137 } {
138 1 2 3b 4b 5 6 7 8b 9b
139 } {
140 1 2 3b 4c 5 6c 7c 8 9
141 } {
142 1 2 MINE: 3b 4b COM: 3 4 YOURS: 3b 4c END 5 6c 7c 8b 9b
143 }
144 merge-test 12 {
145 1 2 3 4 5 6 7 8 9
146 } {
147 1 2 3b4b 5 6 7 8b 9b
@@ -190,20 +192,20 @@
192 } {
193 1 6 7 8 9
194 } {
195 1 2 3 4 9
196 } {
197 1 MINE: 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END 9
198 }
199 merge-test 25 {
200 1 2 3 4 5 6 7 8 9
201 } {
202 1 7 8 9
203 } {
204 1 2 3 9
205 } {
206 1 MINE: 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END 9
207 }
208
209 merge-test 30 {
210 1 2 3 4 5 6 7 8 9
211 } {
@@ -245,20 +247,20 @@
247 } {
248 1 2 3 4 9
249 } {
250 1 6 7 8 9
251 } {
252 1 MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 6 7 8 END 9
253 }
254 merge-test 35 {
255 1 2 3 4 5 6 7 8 9
256 } {
257 1 2 3 9
258 } {
259 1 7 8 9
260 } {
261 1 MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 7 8 END 9
262 }
263
264 merge-test 40 {
265 2 3 4 5 6 7 8
266 } {
@@ -300,20 +302,20 @@
302 } {
303 6 7 8
304 } {
305 2 3 4
306 } {
307 MINE: 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END
308 }
309 merge-test 45 {
310 2 3 4 5 6 7 8
311 } {
312 7 8
313 } {
314 2 3
315 } {
316 MINE: 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END
317 }
318
319 merge-test 50 {
320 2 3 4 5 6 7 8
321 } {
@@ -354,20 +356,20 @@
356 } {
357 2 3 4
358 } {
359 6 7 8
360 } {
361 MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 6 7 8 END
362 }
363 merge-test 55 {
364 2 3 4 5 6 7 8
365 } {
366 2 3
367 } {
368 7 8
369 } {
370 MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 7 8 END
371 }
372
373 merge-test 60 {
374 1 2 3 4 5 6 7 8 9
375 } {
@@ -409,20 +411,20 @@
411 } {
412 1 2b 3b 4b 5b 6 7 8 9
413 } {
414 1 2 3 4 9
415 } {
416 1 MINE: 2b 3b 4b 5b 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END 9
417 }
418 merge-test 65 {
419 1 2 3 4 5 6 7 8 9
420 } {
421 1 2b 3b 4b 5b 6b 7 8 9
422 } {
423 1 2 3 9
424 } {
425 1 MINE: 2b 3b 4b 5b 6b 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END 9
426 }
427
428 merge-test 70 {
429 1 2 3 4 5 6 7 8 9
430 } {
@@ -464,20 +466,20 @@
466 } {
467 1 2 3 4 9
468 } {
469 1 2b 3b 4b 5b 6 7 8 9
470 } {
471 1 MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6 7 8 END 9
472 }
473 merge-test 75 {
474 1 2 3 4 5 6 7 8 9
475 } {
476 1 2 3 9
477 } {
478 1 2b 3b 4b 5b 6b 7 8 9
479 } {
480 1 MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6b 7 8 END 9
481 }
482
483 merge-test 80 {
484 2 3 4 5 6 7 8
485 } {
@@ -519,20 +521,20 @@
521 } {
522 2b 3b 4b 5b 6 7 8
523 } {
524 2 3 4
525 } {
526 MINE: 2b 3b 4b 5b 6 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 4 END
527 }
528 merge-test 85 {
529 2 3 4 5 6 7 8
530 } {
531 2b 3b 4b 5b 6b 7 8
532 } {
533 2 3
534 } {
535 MINE: 2b 3b 4b 5b 6b 7 8 COM: 2 3 4 5 6 7 8 YOURS: 2 3 END
536 }
537
538 merge-test 90 {
539 2 3 4 5 6 7 8
540 } {
@@ -574,20 +576,20 @@
576 } {
577 2 3 4
578 } {
579 2b 3b 4b 5b 6 7 8
580 } {
581 MINE: 2 3 4 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6 7 8 END
582 }
583 merge-test 95 {
584 2 3 4 5 6 7 8
585 } {
586 2 3
587 } {
588 2b 3b 4b 5b 6b 7 8
589 } {
590 MINE: 2 3 COM: 2 3 4 5 6 7 8 YOURS: 2b 3b 4b 5b 6b 7 8 END
591 }
592
593 merge-test 100 {
594 1 2 3 4 5 6 7 8 9
595 } {
@@ -620,16 +622,16 @@
622 } {
623 1 2 3 4 5 7 8 9b
624 } {
625 1 2 3 4 5 7 8 9b a b c d e
626 } {
627 1 2 3 4 5 7 8 MINE: 9b COM: 9 YOURS: 9b a b c d e END
628 }
629 merge-test 104 {
630 1 2 3 4 5 6 7 8 9
631 } {
632 1 2 3 4 5 7 8 9b a b c d e
633 } {
634 1 2 3 4 5 7 8 9b
635 } {
636 1 2 3 4 5 7 8 MINE: 9b a b c d e COM: 9 YOURS: 9b END
637 }
638

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button