Show More
This diff has been collapsed as it changes many lines, (548 lines changed) Show them Hide them | |||||
@@ -18,7 +18,7 b' use git diff to see rename' | |||||
18 | > [diff] |
|
18 | > [diff] | |
19 | > git=yes |
|
19 | > git=yes | |
20 | > [command-templates] |
|
20 | > [command-templates] | |
21 |
> log={ |
|
21 | > log={desc}\n | |
22 | > EOF |
|
22 | > EOF | |
23 |
|
23 | |||
24 | #if compatibility |
|
24 | #if compatibility | |
@@ -71,11 +71,11 b' Add some linear rename initialy' | |||||
71 | $ hg mv c d |
|
71 | $ hg mv c d | |
72 | $ hg ci -Am 'i-2: c -move-> d' |
|
72 | $ hg ci -Am 'i-2: c -move-> d' | |
73 | $ hg log -G |
|
73 | $ hg log -G | |
74 |
@ |
|
74 | @ i-2: c -move-> d | |
75 | | |
|
75 | | | |
76 |
o |
|
76 | o i-1: a -move-> c | |
77 | | |
|
77 | | | |
78 |
o |
|
78 | o i-0 initial commit: a b h | |
79 |
|
79 | |||
80 |
|
80 | |||
81 | And having another branch with renames on the other side |
|
81 | And having another branch with renames on the other side | |
@@ -85,15 +85,15 b' And having another branch with renames o' | |||||
85 | $ hg mv e f |
|
85 | $ hg mv e f | |
86 | $ hg ci -Am 'a-2: e -move-> f' |
|
86 | $ hg ci -Am 'a-2: e -move-> f' | |
87 | $ hg log -G --rev '::.' |
|
87 | $ hg log -G --rev '::.' | |
88 |
@ |
|
88 | @ a-2: e -move-> f | |
89 | | |
|
89 | | | |
90 |
o |
|
90 | o a-1: d -move-> e | |
91 | | |
|
91 | | | |
92 |
o |
|
92 | o i-2: c -move-> d | |
93 | | |
|
93 | | | |
94 |
o |
|
94 | o i-1: a -move-> c | |
95 | | |
|
95 | | | |
96 |
o |
|
96 | o i-0 initial commit: a b h | |
97 |
|
97 | |||
98 |
|
98 | |||
99 | Have a branching with nothing on one side |
|
99 | Have a branching with nothing on one side | |
@@ -104,13 +104,13 b' Have a branching with nothing on one sid' | |||||
104 | $ hg ci -m 'b-1: b update' |
|
104 | $ hg ci -m 'b-1: b update' | |
105 | created new head |
|
105 | created new head | |
106 | $ hg log -G --rev '::.' |
|
106 | $ hg log -G --rev '::.' | |
107 |
@ |
|
107 | @ b-1: b update | |
108 | | |
|
108 | | | |
109 |
o |
|
109 | o i-2: c -move-> d | |
110 | | |
|
110 | | | |
111 |
o |
|
111 | o i-1: a -move-> c | |
112 | | |
|
112 | | | |
113 |
o |
|
113 | o i-0 initial commit: a b h | |
114 |
|
114 | |||
115 |
|
115 | |||
116 | Create a branch that delete a file previous renamed |
|
116 | Create a branch that delete a file previous renamed | |
@@ -121,13 +121,13 b' Create a branch that delete a file previ' | |||||
121 | $ hg ci -m 'c-1 delete d' |
|
121 | $ hg ci -m 'c-1 delete d' | |
122 | created new head |
|
122 | created new head | |
123 | $ hg log -G --rev '::.' |
|
123 | $ hg log -G --rev '::.' | |
124 |
@ |
|
124 | @ c-1 delete d | |
125 | | |
|
125 | | | |
126 |
o |
|
126 | o i-2: c -move-> d | |
127 | | |
|
127 | | | |
128 |
o |
|
128 | o i-1: a -move-> c | |
129 | | |
|
129 | | | |
130 |
o |
|
130 | o i-0 initial commit: a b h | |
131 |
|
131 | |||
132 |
|
132 | |||
133 | Create a branch that delete a file previous renamed and recreate it |
|
133 | Create a branch that delete a file previous renamed and recreate it | |
@@ -141,15 +141,15 b' Create a branch that delete a file previ' | |||||
141 | $ hg add d |
|
141 | $ hg add d | |
142 | $ hg ci -m 'd-2 re-add d' |
|
142 | $ hg ci -m 'd-2 re-add d' | |
143 | $ hg log -G --rev '::.' |
|
143 | $ hg log -G --rev '::.' | |
144 |
@ |
|
144 | @ d-2 re-add d | |
145 | | |
|
145 | | | |
146 |
o |
|
146 | o d-1 delete d | |
147 | | |
|
147 | | | |
148 |
o |
|
148 | o i-2: c -move-> d | |
149 | | |
|
149 | | | |
150 |
o |
|
150 | o i-1: a -move-> c | |
151 | | |
|
151 | | | |
152 |
o |
|
152 | o i-0 initial commit: a b h | |
153 |
|
153 | |||
154 |
|
154 | |||
155 | Having another branch renaming a different file to the same filename as another |
|
155 | Having another branch renaming a different file to the same filename as another | |
@@ -162,15 +162,15 b' Having another branch renaming a differe' | |||||
162 | $ hg mv g f |
|
162 | $ hg mv g f | |
163 | $ hg ci -m 'e-2 g -move-> f' |
|
163 | $ hg ci -m 'e-2 g -move-> f' | |
164 | $ hg log -G --rev '::.' |
|
164 | $ hg log -G --rev '::.' | |
165 |
@ |
|
165 | @ e-2 g -move-> f | |
166 | | |
|
166 | | | |
167 |
o |
|
167 | o e-1 b -move-> g | |
168 | | |
|
168 | | | |
169 |
o |
|
169 | o i-2: c -move-> d | |
170 | | |
|
170 | | | |
171 |
o |
|
171 | o i-1: a -move-> c | |
172 | | |
|
172 | | | |
173 |
o |
|
173 | o i-0 initial commit: a b h | |
174 |
|
174 | |||
175 |
|
175 | |||
176 | Setup all merge |
|
176 | Setup all merge | |
@@ -201,21 +201,21 b' merging with unrelated change does not i' | |||||
201 | $ hg ci -m "mABm-0 $case_desc - the other way" |
|
201 | $ hg ci -m "mABm-0 $case_desc - the other way" | |
202 | created new head |
|
202 | created new head | |
203 | $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))' |
|
203 | $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))' | |
204 |
@ |
|
204 | @ mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way | |
205 | |\ |
|
205 | |\ | |
206 |
+---o |
|
206 | +---o mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way | |
207 | | |/ |
|
207 | | |/ | |
208 |
| o |
|
208 | | o b-1: b update | |
209 | | | |
|
209 | | | | |
210 |
o | |
|
210 | o | a-2: e -move-> f | |
211 | | | |
|
211 | | | | |
212 |
o | |
|
212 | o | a-1: d -move-> e | |
213 | |/ |
|
213 | |/ | |
214 |
o |
|
214 | o i-2: c -move-> d | |
215 | | |
|
215 | | | |
216 |
o |
|
216 | o i-1: a -move-> c | |
217 | | |
|
217 | | | |
218 |
o |
|
218 | o i-0 initial commit: a b h | |
219 |
|
219 | |||
220 |
|
220 | |||
221 |
|
221 | |||
@@ -249,23 +249,23 b' and recreate an unrelated file after the' | |||||
249 | $ hg add d |
|
249 | $ hg add d | |
250 | $ hg ci -m 'mCBm-1 re-add d' |
|
250 | $ hg ci -m 'mCBm-1 re-add d' | |
251 | $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))' |
|
251 | $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))' | |
252 |
@ |
|
252 | @ mCBm-1 re-add d | |
253 | | |
|
253 | | | |
254 |
o |
|
254 | o mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way | |
255 | |\ |
|
255 | |\ | |
256 |
| | o |
|
256 | | | o mBCm-1 re-add d | |
257 | | | | |
|
257 | | | | | |
258 |
+---o |
|
258 | +---o mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way | |
259 | | |/ |
|
259 | | |/ | |
260 |
| o |
|
260 | | o c-1 delete d | |
261 | | | |
|
261 | | | | |
262 |
o | |
|
262 | o | b-1: b update | |
263 | |/ |
|
263 | |/ | |
264 |
o |
|
264 | o i-2: c -move-> d | |
265 | | |
|
265 | | | |
266 |
o |
|
266 | o i-1: a -move-> c | |
267 | | |
|
267 | | | |
268 |
o |
|
268 | o i-0 initial commit: a b h | |
269 |
|
269 | |||
270 |
|
270 | |||
271 | Comparing with a merge re-adding the file afterward |
|
271 | Comparing with a merge re-adding the file afterward | |
@@ -291,21 +291,21 b' Merge:' | |||||
291 | $ hg ci -m "mDBm-0 $case_desc - the other way" |
|
291 | $ hg ci -m "mDBm-0 $case_desc - the other way" | |
292 | created new head |
|
292 | created new head | |
293 | $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))' |
|
293 | $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))' | |
294 |
@ |
|
294 | @ mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way | |
295 | |\ |
|
295 | |\ | |
296 |
+---o |
|
296 | +---o mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way | |
297 | | |/ |
|
297 | | |/ | |
298 |
| o |
|
298 | | o d-2 re-add d | |
299 | | | |
|
299 | | | | |
300 |
| o |
|
300 | | o d-1 delete d | |
301 | | | |
|
301 | | | | |
302 |
o | |
|
302 | o | b-1: b update | |
303 | |/ |
|
303 | |/ | |
304 |
o |
|
304 | o i-2: c -move-> d | |
305 | | |
|
305 | | | |
306 |
o |
|
306 | o i-1: a -move-> c | |
307 | | |
|
307 | | | |
308 |
o |
|
308 | o i-0 initial commit: a b h | |
309 |
|
309 | |||
310 |
|
310 | |||
311 |
|
311 | |||
@@ -337,23 +337,23 b' Subcase: new copy information on both si' | |||||
337 | $ hg ci -m "mEAm-0 $case_desc - the other way" |
|
337 | $ hg ci -m "mEAm-0 $case_desc - the other way" | |
338 | created new head |
|
338 | created new head | |
339 | $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))' |
|
339 | $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))' | |
340 |
@ |
|
340 | @ mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way | |
341 | |\ |
|
341 | |\ | |
342 |
+---o |
|
342 | +---o mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way | |
343 | | |/ |
|
343 | | |/ | |
344 |
| o |
|
344 | | o e-2 g -move-> f | |
345 | | | |
|
345 | | | | |
346 |
| o |
|
346 | | o e-1 b -move-> g | |
347 | | | |
|
347 | | | | |
348 |
o | |
|
348 | o | a-2: e -move-> f | |
349 | | | |
|
349 | | | | |
350 |
o | |
|
350 | o | a-1: d -move-> e | |
351 | |/ |
|
351 | |/ | |
352 |
o |
|
352 | o i-2: c -move-> d | |
353 | | |
|
353 | | | |
354 |
o |
|
354 | o i-1: a -move-> c | |
355 | | |
|
355 | | | |
356 |
o |
|
356 | o i-0 initial commit: a b h | |
357 |
|
357 | |||
358 |
|
358 | |||
359 | Subcase: existing copy information overwritten on one branch |
|
359 | Subcase: existing copy information overwritten on one branch | |
@@ -394,21 +394,21 b' Merge:' | |||||
394 | $ hg ci -m "mFBm-0 $case_desc - the other way" |
|
394 | $ hg ci -m "mFBm-0 $case_desc - the other way" | |
395 | created new head |
|
395 | created new head | |
396 | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' |
|
396 | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | |
397 |
@ |
|
397 | @ mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way | |
398 | |\ |
|
398 | |\ | |
399 |
+---o |
|
399 | +---o mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way | |
400 | | |/ |
|
400 | | |/ | |
401 |
| o |
|
401 | | o f-2: rename i -> d | |
402 | | | |
|
402 | | | | |
403 |
| o |
|
403 | | o f-1: rename h -> i | |
404 | | | |
|
404 | | | | |
405 |
o | |
|
405 | o | b-1: b update | |
406 | |/ |
|
406 | |/ | |
407 |
o |
|
407 | o i-2: c -move-> d | |
408 | | |
|
408 | | | |
409 |
o |
|
409 | o i-1: a -move-> c | |
410 | | |
|
410 | | | |
411 |
o |
|
411 | o i-0 initial commit: a b h | |
412 |
|
412 | |||
413 |
|
413 | |||
414 |
|
414 | |||
@@ -446,21 +446,21 b' consider history and rename on both bran' | |||||
446 | $ hg ci -m "mGDm-0 $case_desc - the other way" |
|
446 | $ hg ci -m "mGDm-0 $case_desc - the other way" | |
447 | created new head |
|
447 | created new head | |
448 | $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))' |
|
448 | $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))' | |
449 |
@ |
|
449 | @ mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way | |
450 | |\ |
|
450 | |\ | |
451 |
+---o |
|
451 | +---o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | |
452 | | |/ |
|
452 | | |/ | |
453 |
| o |
|
453 | | o g-1: update d | |
454 | | | |
|
454 | | | | |
455 |
o | |
|
455 | o | d-2 re-add d | |
456 | | | |
|
456 | | | | |
457 |
o | |
|
457 | o | d-1 delete d | |
458 | |/ |
|
458 | |/ | |
459 |
o |
|
459 | o i-2: c -move-> d | |
460 | | |
|
460 | | | |
461 |
o |
|
461 | o i-1: a -move-> c | |
462 | | |
|
462 | | | |
463 |
o |
|
463 | o i-0 initial commit: a b h | |
464 |
|
464 | |||
465 |
|
465 | |||
466 | Subcase: merging a change to a file with a "copy overwrite" to that file from another branch |
|
466 | Subcase: merging a change to a file with a "copy overwrite" to that file from another branch | |
@@ -501,21 +501,21 b' Note:' | |||||
501 | $ hg ci -m "mGFm-0 $case_desc - the other way" |
|
501 | $ hg ci -m "mGFm-0 $case_desc - the other way" | |
502 | created new head |
|
502 | created new head | |
503 | $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))' |
|
503 | $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))' | |
504 |
@ |
|
504 | @ mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way | |
505 | |\ |
|
505 | |\ | |
506 |
+---o |
|
506 | +---o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way | |
507 | | |/ |
|
507 | | |/ | |
508 |
| o |
|
508 | | o g-1: update d | |
509 | | | |
|
509 | | | | |
510 |
o | |
|
510 | o | f-2: rename i -> d | |
511 | | | |
|
511 | | | | |
512 |
o | |
|
512 | o | f-1: rename h -> i | |
513 | |/ |
|
513 | |/ | |
514 |
o |
|
514 | o i-2: c -move-> d | |
515 | | |
|
515 | | | |
516 |
o |
|
516 | o i-1: a -move-> c | |
517 | | |
|
517 | | | |
518 |
o |
|
518 | o i-0 initial commit: a b h | |
519 |
|
519 | |||
520 |
|
520 | |||
521 |
|
521 | |||
@@ -561,19 +561,19 b' copy tracing chain.' | |||||
561 | created new head |
|
561 | created new head | |
562 |
|
562 | |||
563 | $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' |
|
563 | $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' | |
564 |
@ |
|
564 | @ mGCm-0 merge updated/deleted - revive the file (updated content) - the other way | |
565 | |\ |
|
565 | |\ | |
566 |
+---o |
|
566 | +---o mCGm-0 merge updated/deleted - revive the file (updated content) - one way | |
567 | | |/ |
|
567 | | |/ | |
568 |
| o |
|
568 | | o g-1: update d | |
569 | | | |
|
569 | | | | |
570 |
o | |
|
570 | o | c-1 delete d | |
571 | |/ |
|
571 | |/ | |
572 |
o |
|
572 | o i-2: c -move-> d | |
573 | | |
|
573 | | | |
574 |
o |
|
574 | o i-1: a -move-> c | |
575 | | |
|
575 | | | |
576 |
o |
|
576 | o i-0 initial commit: a b h | |
577 |
|
577 | |||
578 |
|
578 | |||
579 |
|
579 | |||
@@ -610,19 +610,19 b' copy tracing chain.' | |||||
610 | created new head |
|
610 | created new head | |
611 |
|
611 | |||
612 | $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))' |
|
612 | $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))' | |
613 |
@ |
|
613 | @ mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way | |
614 | |\ |
|
614 | |\ | |
615 |
+---o |
|
615 | +---o mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way | |
616 | | |/ |
|
616 | | |/ | |
617 |
| o |
|
617 | | o c-1 delete d | |
618 | | | |
|
618 | | | | |
619 |
o | |
|
619 | o | b-1: b update | |
620 | |/ |
|
620 | |/ | |
621 |
o |
|
621 | o i-2: c -move-> d | |
622 | | |
|
622 | | | |
623 |
o |
|
623 | o i-1: a -move-> c | |
624 | | |
|
624 | | | |
625 |
o |
|
625 | o i-0 initial commit: a b h | |
626 |
|
626 | |||
627 |
|
627 | |||
628 |
|
628 | |||
@@ -659,19 +659,19 b' rename information actually conflict wit' | |||||
659 | $ hg ci -m "mHC-delete-before-conflict-m-0 $case_desc - the other way" |
|
659 | $ hg ci -m "mHC-delete-before-conflict-m-0 $case_desc - the other way" | |
660 | created new head |
|
660 | created new head | |
661 | $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))' |
|
661 | $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))' | |
662 |
@ |
|
662 | @ mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way | |
663 | |\ |
|
663 | |\ | |
664 |
+---o |
|
664 | +---o mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way | |
665 | | |/ |
|
665 | | |/ | |
666 |
| o |
|
666 | | o h-1: b -(move)-> d | |
667 | | | |
|
667 | | | | |
668 |
o | |
|
668 | o | c-1 delete d | |
669 | | | |
|
669 | | | | |
670 |
o | |
|
670 | o | i-2: c -move-> d | |
671 | | | |
|
671 | | | | |
672 |
o | |
|
672 | o | i-1: a -move-> c | |
673 | |/ |
|
673 | |/ | |
674 |
o |
|
674 | o i-0 initial commit: a b h | |
675 |
|
675 | |||
676 |
|
676 | |||
677 | Decision from previous merge are properly chained with later merge |
|
677 | Decision from previous merge are properly chained with later merge | |
@@ -750,35 +750,35 b' about that file should stay unchanged.' | |||||
750 |
|
750 | |||
751 |
|
751 | |||
752 | $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))' |
|
752 | $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))' | |
753 |
@ |
|
753 | @ mJ,EAm: chained merges (conflict -> simple) - same content everywhere | |
754 | |\ |
|
754 | |\ | |
755 |
+---o |
|
755 | +---o mEA,Jm: chained merges (conflict -> simple) - same content everywhere | |
756 | | |/ |
|
756 | | |/ | |
757 |
| | o |
|
757 | | | o mK,AEm: chained merges (conflict -> simple) - same content everywhere | |
758 | | | |\ |
|
758 | | | |\ | |
759 |
| | +---o |
|
759 | | | +---o mAE,Km: chained merges (conflict -> simple) - same content everywhere | |
760 | | | | |/ |
|
760 | | | | |/ | |
761 |
| | | o |
|
761 | | | | o k-1: unrelated changes (based on "e" changes) | |
762 | | | | | |
|
762 | | | | | | |
763 |
| o | | |
|
763 | | o | | j-1: unrelated changes (based on the "a" series of changes) | |
764 | | | | | |
|
764 | | | | | | |
765 |
o-----+ |
|
765 | o-----+ mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way | |
766 | |/ / / |
|
766 | |/ / / | |
767 |
| o / |
|
767 | | o / mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way | |
768 | |/|/ |
|
768 | |/|/ | |
769 |
| o |
|
769 | | o e-2 g -move-> f | |
770 | | | |
|
770 | | | | |
771 |
| o |
|
771 | | o e-1 b -move-> g | |
772 | | | |
|
772 | | | | |
773 |
o | |
|
773 | o | a-2: e -move-> f | |
774 | | | |
|
774 | | | | |
775 |
o | |
|
775 | o | a-1: d -move-> e | |
776 | |/ |
|
776 | |/ | |
777 |
o |
|
777 | o i-2: c -move-> d | |
778 | | |
|
778 | | | |
779 |
o |
|
779 | o i-1: a -move-> c | |
780 | | |
|
780 | | | |
781 |
o |
|
781 | o i-0 initial commit: a b h | |
782 |
|
782 | |||
783 |
|
783 | |||
784 | Subcase: chaining salvage information during a merge |
|
784 | Subcase: chaining salvage information during a merge | |
@@ -839,29 +839,29 b' should preserve the fact eh file was sal' | |||||
839 | created new head |
|
839 | created new head | |
840 |
|
840 | |||
841 | $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))' |
|
841 | $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))' | |
842 |
@ |
|
842 | @ mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists) | |
843 | |\ |
|
843 | |\ | |
844 |
| | o |
|
844 | | | o mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists) | |
845 | | |/| |
|
845 | | |/| | |
846 |
+-+---o |
|
846 | +-+---o mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists) | |
847 | | | | |
|
847 | | | | | |
848 |
| +---o |
|
848 | | +---o mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists) | |
849 | | | |/ |
|
849 | | | |/ | |
850 |
| o | |
|
850 | | o | l-1: unrelated changes (based on "c" changes) | |
851 | | | | |
|
851 | | | | | |
852 |
| | o |
|
852 | | | o mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way | |
853 | | |/| |
|
853 | | |/| | |
854 |
o---+ |
|
854 | o---+ mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way | |
855 | |/ / |
|
855 | |/ / | |
856 |
o | |
|
856 | o | c-1 delete d | |
857 | | | |
|
857 | | | | |
858 |
| o |
|
858 | | o b-1: b update | |
859 | |/ |
|
859 | |/ | |
860 |
o |
|
860 | o i-2: c -move-> d | |
861 | | |
|
861 | | | |
862 |
o |
|
862 | o i-1: a -move-> c | |
863 | | |
|
863 | | | |
864 |
o |
|
864 | o i-0 initial commit: a b h | |
865 |
|
865 | |||
866 |
|
866 | |||
867 |
|
867 | |||
@@ -931,33 +931,33 b' When a non-rename change are merged with' | |||||
931 | created new head |
|
931 | created new head | |
932 |
|
932 | |||
933 | $ hg log -G --rev '::(desc("mFG,Om") + desc("mO,FGm") + desc("mGF,Nm") + desc("mN,GFm"))' |
|
933 | $ hg log -G --rev '::(desc("mFG,Om") + desc("mO,FGm") + desc("mGF,Nm") + desc("mN,GFm"))' | |
934 |
@ |
|
934 | @ mN,GFm: chained merges (copy-overwrite -> simple) - same content | |
935 | |\ |
|
935 | |\ | |
936 |
+---o |
|
936 | +---o mGF,Nm: chained merges (copy-overwrite -> simple) - same content | |
937 | | |/ |
|
937 | | |/ | |
938 |
| | o |
|
938 | | | o mO,FGm: chained merges (copy-overwrite -> simple) - same content | |
939 | | | |\ |
|
939 | | | |\ | |
940 |
| | +---o |
|
940 | | | +---o mFG,Om: chained merges (copy-overwrite -> simple) - same content | |
941 | | | | |/ |
|
941 | | | | |/ | |
942 |
| | | o |
|
942 | | | | o o-1: unrelated changes (based on "g" changes) | |
943 | | | | | |
|
943 | | | | | | |
944 |
| o | | |
|
944 | | o | | n-1: unrelated changes (based on the "f" series of changes) | |
945 | | | | | |
|
945 | | | | | | |
946 |
o-----+ |
|
946 | o-----+ mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way | |
947 | |/ / / |
|
947 | |/ / / | |
948 |
| o / |
|
948 | | o / mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way | |
949 | |/|/ |
|
949 | |/|/ | |
950 |
| o |
|
950 | | o g-1: update d | |
951 | | | |
|
951 | | | | |
952 |
o | |
|
952 | o | f-2: rename i -> d | |
953 | | | |
|
953 | | | | |
954 |
o | |
|
954 | o | f-1: rename h -> i | |
955 | |/ |
|
955 | |/ | |
956 |
o |
|
956 | o i-2: c -move-> d | |
957 | | |
|
957 | | | |
958 |
o |
|
958 | o i-1: a -move-> c | |
959 | | |
|
959 | | | |
960 |
o |
|
960 | o i-0 initial commit: a b h | |
961 |
|
961 | |||
962 |
|
962 | |||
963 | Summary of all created cases |
|
963 | Summary of all created cases | |
@@ -1364,21 +1364,21 b' merging with unrelated change does not i' | |||||
1364 | - unrelated change on the other side |
|
1364 | - unrelated change on the other side | |
1365 |
|
1365 | |||
1366 | $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))' |
|
1366 | $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))' | |
1367 |
o |
|
1367 | o mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way | |
1368 | |\ |
|
1368 | |\ | |
1369 |
+---o |
|
1369 | +---o mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way | |
1370 | | |/ |
|
1370 | | |/ | |
1371 |
| o |
|
1371 | | o b-1: b update | |
1372 | | | |
|
1372 | | | | |
1373 |
o | |
|
1373 | o | a-2: e -move-> f | |
1374 | | | |
|
1374 | | | | |
1375 |
o | |
|
1375 | o | a-1: d -move-> e | |
1376 | |/ |
|
1376 | |/ | |
1377 |
o |
|
1377 | o i-2: c -move-> d | |
1378 | | |
|
1378 | | | |
1379 |
o |
|
1379 | o i-1: a -move-> c | |
1380 | | |
|
1380 | | | |
1381 |
o |
|
1381 | o i-0 initial commit: a b h | |
1382 |
|
1382 | |||
1383 |
|
1383 | |||
1384 | $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mABm")' |
|
1384 | $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mABm")' | |
@@ -1423,23 +1423,23 b' case summary:' | |||||
1423 | and recreate an unrelated file after the merge |
|
1423 | and recreate an unrelated file after the merge | |
1424 |
|
1424 | |||
1425 | $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))' |
|
1425 | $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))' | |
1426 |
o |
|
1426 | o mCBm-1 re-add d | |
1427 | | |
|
1427 | | | |
1428 |
o |
|
1428 | o mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way | |
1429 | |\ |
|
1429 | |\ | |
1430 |
| | o |
|
1430 | | | o mBCm-1 re-add d | |
1431 | | | | |
|
1431 | | | | | |
1432 |
+---o |
|
1432 | +---o mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way | |
1433 | | |/ |
|
1433 | | |/ | |
1434 |
| o |
|
1434 | | o c-1 delete d | |
1435 | | | |
|
1435 | | | | |
1436 |
o | |
|
1436 | o | b-1: b update | |
1437 | |/ |
|
1437 | |/ | |
1438 |
o |
|
1438 | o i-2: c -move-> d | |
1439 | | |
|
1439 | | | |
1440 |
o |
|
1440 | o i-1: a -move-> c | |
1441 | | |
|
1441 | | | |
1442 |
o |
|
1442 | o i-0 initial commit: a b h | |
1443 |
|
1443 | |||
1444 | - comparing from the merge |
|
1444 | - comparing from the merge | |
1445 |
|
1445 | |||
@@ -1499,21 +1499,21 b' Merge:' | |||||
1499 | - one deleting and recreating the change |
|
1499 | - one deleting and recreating the change | |
1500 |
|
1500 | |||
1501 | $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))' |
|
1501 | $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))' | |
1502 |
o |
|
1502 | o mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way | |
1503 | |\ |
|
1503 | |\ | |
1504 |
+---o |
|
1504 | +---o mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way | |
1505 | | |/ |
|
1505 | | |/ | |
1506 |
| o |
|
1506 | | o d-2 re-add d | |
1507 | | | |
|
1507 | | | | |
1508 |
| o |
|
1508 | | o d-1 delete d | |
1509 | | | |
|
1509 | | | | |
1510 |
o | |
|
1510 | o | b-1: b update | |
1511 | |/ |
|
1511 | |/ | |
1512 |
o |
|
1512 | o i-2: c -move-> d | |
1513 | | |
|
1513 | | | |
1514 |
o |
|
1514 | o i-1: a -move-> c | |
1515 | | |
|
1515 | | | |
1516 |
o |
|
1516 | o i-0 initial commit: a b h | |
1517 |
|
1517 | |||
1518 | $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBDm-0")' |
|
1518 | $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBDm-0")' | |
1519 | M d |
|
1519 | M d | |
@@ -1553,12 +1553,12 b' The bugs makes recorded copy is differen' | |||||
1553 | Log output should not include a merge commit as it did not happen |
|
1553 | Log output should not include a merge commit as it did not happen | |
1554 |
|
1554 | |||
1555 | $ hg log -Gfr 'desc("mBDm-0")' d |
|
1555 | $ hg log -Gfr 'desc("mBDm-0")' d | |
1556 |
o |
|
1556 | o d-2 re-add d | |
1557 | | |
|
1557 | | | |
1558 | ~ |
|
1558 | ~ | |
1559 |
|
1559 | |||
1560 | $ hg log -Gfr 'desc("mDBm-0")' d |
|
1560 | $ hg log -Gfr 'desc("mDBm-0")' d | |
1561 |
o |
|
1561 | o d-2 re-add d | |
1562 | | |
|
1562 | | | |
1563 | ~ |
|
1563 | ~ | |
1564 |
|
1564 | |||
@@ -1582,23 +1582,23 b' Subcase: new copy information on both si' | |||||
1582 | - the "a-" branch renaming d to f (through e) |
|
1582 | - the "a-" branch renaming d to f (through e) | |
1583 |
|
1583 | |||
1584 | $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))' |
|
1584 | $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))' | |
1585 |
o |
|
1585 | o mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way | |
1586 | |\ |
|
1586 | |\ | |
1587 |
+---o |
|
1587 | +---o mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way | |
1588 | | |/ |
|
1588 | | |/ | |
1589 |
| o |
|
1589 | | o e-2 g -move-> f | |
1590 | | | |
|
1590 | | | | |
1591 |
| o |
|
1591 | | o e-1 b -move-> g | |
1592 | | | |
|
1592 | | | | |
1593 |
o | |
|
1593 | o | a-2: e -move-> f | |
1594 | | | |
|
1594 | | | | |
1595 |
o | |
|
1595 | o | a-1: d -move-> e | |
1596 | |/ |
|
1596 | |/ | |
1597 |
o |
|
1597 | o i-2: c -move-> d | |
1598 | | |
|
1598 | | | |
1599 |
o |
|
1599 | o i-1: a -move-> c | |
1600 | | |
|
1600 | | | |
1601 |
o |
|
1601 | o i-0 initial commit: a b h | |
1602 |
|
1602 | |||
1603 | #if no-changeset |
|
1603 | #if no-changeset | |
1604 | $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644 f' |
|
1604 | $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644 f' | |
@@ -1705,21 +1705,21 b' Merge:' | |||||
1705 | - one overwriting a file (d) with a rename (from h to i to d) |
|
1705 | - one overwriting a file (d) with a rename (from h to i to d) | |
1706 |
|
1706 | |||
1707 | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' |
|
1707 | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | |
1708 |
o |
|
1708 | o mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way | |
1709 | |\ |
|
1709 | |\ | |
1710 |
+---o |
|
1710 | +---o mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way | |
1711 | | |/ |
|
1711 | | |/ | |
1712 |
| o |
|
1712 | | o f-2: rename i -> d | |
1713 | | | |
|
1713 | | | | |
1714 |
| o |
|
1714 | | o f-1: rename h -> i | |
1715 | | | |
|
1715 | | | | |
1716 |
o | |
|
1716 | o | b-1: b update | |
1717 | |/ |
|
1717 | |/ | |
1718 |
o |
|
1718 | o i-2: c -move-> d | |
1719 | | |
|
1719 | | | |
1720 |
o |
|
1720 | o i-1: a -move-> c | |
1721 | | |
|
1721 | | | |
1722 |
o |
|
1722 | o i-0 initial commit: a b h | |
1723 |
|
1723 | |||
1724 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBFm-0")' |
|
1724 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBFm-0")' | |
1725 | M b |
|
1725 | M b | |
@@ -1758,32 +1758,32 b' Merge:' | |||||
1758 |
|
1758 | |||
1759 | #if no-changeset |
|
1759 | #if no-changeset | |
1760 | $ hg log -Gfr 'desc("mBFm-0")' d |
|
1760 | $ hg log -Gfr 'desc("mBFm-0")' d | |
1761 |
o |
|
1761 | o f-2: rename i -> d | |
1762 | | |
|
1762 | | | |
1763 |
o |
|
1763 | o f-1: rename h -> i | |
1764 | : |
|
1764 | : | |
1765 |
o |
|
1765 | o i-0 initial commit: a b h | |
1766 |
|
1766 | |||
1767 | #else |
|
1767 | #else | |
1768 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work |
|
1768 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work | |
1769 | $ hg log -Gfr 'desc("mBFm-0")' d |
|
1769 | $ hg log -Gfr 'desc("mBFm-0")' d | |
1770 |
o |
|
1770 | o i-2: c -move-> d | |
1771 | | |
|
1771 | | | |
1772 | ~ |
|
1772 | ~ | |
1773 | #endif |
|
1773 | #endif | |
1774 |
|
1774 | |||
1775 | #if no-changeset |
|
1775 | #if no-changeset | |
1776 | $ hg log -Gfr 'desc("mFBm-0")' d |
|
1776 | $ hg log -Gfr 'desc("mFBm-0")' d | |
1777 |
o |
|
1777 | o f-2: rename i -> d | |
1778 | | |
|
1778 | | | |
1779 |
o |
|
1779 | o f-1: rename h -> i | |
1780 | : |
|
1780 | : | |
1781 |
o |
|
1781 | o i-0 initial commit: a b h | |
1782 |
|
1782 | |||
1783 | #else |
|
1783 | #else | |
1784 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work |
|
1784 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work | |
1785 | $ hg log -Gfr 'desc("mFBm-0")' d |
|
1785 | $ hg log -Gfr 'desc("mFBm-0")' d | |
1786 |
o |
|
1786 | o i-2: c -move-> d | |
1787 | | |
|
1787 | | | |
1788 | ~ |
|
1788 | ~ | |
1789 | #endif |
|
1789 | #endif | |
@@ -1799,21 +1799,21 b" Unlike in the 'BD/DB' cases, an actual m" | |||||
1799 | consider history and rename on both branch of the merge. |
|
1799 | consider history and rename on both branch of the merge. | |
1800 |
|
1800 | |||
1801 | $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))' |
|
1801 | $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))' | |
1802 |
o |
|
1802 | o mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way | |
1803 | |\ |
|
1803 | |\ | |
1804 |
+---o |
|
1804 | +---o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | |
1805 | | |/ |
|
1805 | | |/ | |
1806 |
| o |
|
1806 | | o g-1: update d | |
1807 | | | |
|
1807 | | | | |
1808 |
o | |
|
1808 | o | d-2 re-add d | |
1809 | | | |
|
1809 | | | | |
1810 |
o | |
|
1810 | o | d-1 delete d | |
1811 | |/ |
|
1811 | |/ | |
1812 |
o |
|
1812 | o i-2: c -move-> d | |
1813 | | |
|
1813 | | | |
1814 |
o |
|
1814 | o i-1: a -move-> c | |
1815 | | |
|
1815 | | | |
1816 |
o |
|
1816 | o i-0 initial commit: a b h | |
1817 |
|
1817 | |||
1818 | One side of the merge have a long history with rename. The other side of the |
|
1818 | One side of the merge have a long history with rename. The other side of the | |
1819 | merge point to a new file with a smaller history. Each side is "valid". |
|
1819 | merge point to a new file with a smaller history. Each side is "valid". | |
@@ -1840,28 +1840,28 b' revision numbers)' | |||||
1840 |
|
1840 | |||
1841 | #if no-changeset |
|
1841 | #if no-changeset | |
1842 | $ hg log -Gfr 'desc("mDGm-0")' d |
|
1842 | $ hg log -Gfr 'desc("mDGm-0")' d | |
1843 |
o |
|
1843 | o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | |
1844 | |\ |
|
1844 | |\ | |
1845 |
| o |
|
1845 | | o g-1: update d | |
1846 | | | |
|
1846 | | | | |
1847 |
o | |
|
1847 | o | d-2 re-add d | |
1848 | |/ |
|
1848 | |/ | |
1849 |
o |
|
1849 | o i-2: c -move-> d | |
1850 | | |
|
1850 | | | |
1851 |
o |
|
1851 | o i-1: a -move-> c | |
1852 | | |
|
1852 | | | |
1853 |
o |
|
1853 | o i-0 initial commit: a b h | |
1854 |
|
1854 | |||
1855 | #else |
|
1855 | #else | |
1856 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work |
|
1856 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work | |
1857 | $ hg log -Gfr 'desc("mDGm-0")' d |
|
1857 | $ hg log -Gfr 'desc("mDGm-0")' d | |
1858 |
o |
|
1858 | o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | |
1859 | |\ |
|
1859 | |\ | |
1860 |
| o |
|
1860 | | o g-1: update d | |
1861 | | | |
|
1861 | | | | |
1862 |
o | |
|
1862 | o | d-2 re-add d | |
1863 | |/ |
|
1863 | |/ | |
1864 |
o |
|
1864 | o i-2: c -move-> d | |
1865 | | |
|
1865 | | | |
1866 | ~ |
|
1866 | ~ | |
1867 | #endif |
|
1867 | #endif | |
@@ -1869,28 +1869,28 b' BROKEN: `hg log --follow <file>` relies ' | |||||
1869 |
|
1869 | |||
1870 | #if no-changeset |
|
1870 | #if no-changeset | |
1871 | $ hg log -Gfr 'desc("mDGm-0")' d |
|
1871 | $ hg log -Gfr 'desc("mDGm-0")' d | |
1872 |
o |
|
1872 | o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | |
1873 | |\ |
|
1873 | |\ | |
1874 |
| o |
|
1874 | | o g-1: update d | |
1875 | | | |
|
1875 | | | | |
1876 |
o | |
|
1876 | o | d-2 re-add d | |
1877 | |/ |
|
1877 | |/ | |
1878 |
o |
|
1878 | o i-2: c -move-> d | |
1879 | | |
|
1879 | | | |
1880 |
o |
|
1880 | o i-1: a -move-> c | |
1881 | | |
|
1881 | | | |
1882 |
o |
|
1882 | o i-0 initial commit: a b h | |
1883 |
|
1883 | |||
1884 | #else |
|
1884 | #else | |
1885 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work |
|
1885 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work | |
1886 | $ hg log -Gfr 'desc("mDGm-0")' d |
|
1886 | $ hg log -Gfr 'desc("mDGm-0")' d | |
1887 |
o |
|
1887 | o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | |
1888 | |\ |
|
1888 | |\ | |
1889 |
| o |
|
1889 | | o g-1: update d | |
1890 | | | |
|
1890 | | | | |
1891 |
o | |
|
1891 | o | d-2 re-add d | |
1892 | |/ |
|
1892 | |/ | |
1893 |
o |
|
1893 | o i-2: c -move-> d | |
1894 | | |
|
1894 | | | |
1895 | ~ |
|
1895 | ~ | |
1896 | #endif |
|
1896 | #endif | |
@@ -1907,21 +1907,21 b' history are relevant.' | |||||
1907 |
|
1907 | |||
1908 |
|
1908 | |||
1909 | $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))' |
|
1909 | $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))' | |
1910 |
o |
|
1910 | o mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way | |
1911 | |\ |
|
1911 | |\ | |
1912 |
+---o |
|
1912 | +---o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way | |
1913 | | |/ |
|
1913 | | |/ | |
1914 |
| o |
|
1914 | | o g-1: update d | |
1915 | | | |
|
1915 | | | | |
1916 |
o | |
|
1916 | o | f-2: rename i -> d | |
1917 | | | |
|
1917 | | | | |
1918 |
o | |
|
1918 | o | f-1: rename h -> i | |
1919 | |/ |
|
1919 | |/ | |
1920 |
o |
|
1920 | o i-2: c -move-> d | |
1921 | | |
|
1921 | | | |
1922 |
o |
|
1922 | o i-1: a -move-> c | |
1923 | | |
|
1923 | | | |
1924 |
o |
|
1924 | o i-0 initial commit: a b h | |
1925 |
|
1925 | |||
1926 |
|
1926 | |||
1927 | Note: |
|
1927 | Note: | |
@@ -1985,52 +1985,52 b' Copy tracing data on the resulting merge' | |||||
1985 |
|
1985 | |||
1986 | #if no-changeset |
|
1986 | #if no-changeset | |
1987 | $ hg log -Gfr 'desc("mFGm-0")' d |
|
1987 | $ hg log -Gfr 'desc("mFGm-0")' d | |
1988 |
o |
|
1988 | o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way | |
1989 | |\ |
|
1989 | |\ | |
1990 |
| o |
|
1990 | | o g-1: update d | |
1991 | | | |
|
1991 | | | | |
1992 |
o | |
|
1992 | o | f-2: rename i -> d | |
1993 | | | |
|
1993 | | | | |
1994 |
o | |
|
1994 | o | f-1: rename h -> i | |
1995 | |/ |
|
1995 | |/ | |
1996 |
o |
|
1996 | o i-2: c -move-> d | |
1997 | | |
|
1997 | | | |
1998 |
o |
|
1998 | o i-1: a -move-> c | |
1999 | | |
|
1999 | | | |
2000 |
o |
|
2000 | o i-0 initial commit: a b h | |
2001 |
|
2001 | |||
2002 | #else |
|
2002 | #else | |
2003 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work |
|
2003 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work | |
2004 | $ hg log -Gfr 'desc("mFGm-0")' d |
|
2004 | $ hg log -Gfr 'desc("mFGm-0")' d | |
2005 |
o |
|
2005 | o g-1: update d | |
2006 | | |
|
2006 | | | |
2007 |
o |
|
2007 | o i-2: c -move-> d | |
2008 | | |
|
2008 | | | |
2009 | ~ |
|
2009 | ~ | |
2010 | #endif |
|
2010 | #endif | |
2011 |
|
2011 | |||
2012 | #if no-changeset |
|
2012 | #if no-changeset | |
2013 | $ hg log -Gfr 'desc("mGFm-0")' d |
|
2013 | $ hg log -Gfr 'desc("mGFm-0")' d | |
2014 |
o |
|
2014 | o mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way | |
2015 | |\ |
|
2015 | |\ | |
2016 |
| o |
|
2016 | | o g-1: update d | |
2017 | | | |
|
2017 | | | | |
2018 |
o | |
|
2018 | o | f-2: rename i -> d | |
2019 | | | |
|
2019 | | | | |
2020 |
o | |
|
2020 | o | f-1: rename h -> i | |
2021 | |/ |
|
2021 | |/ | |
2022 |
o |
|
2022 | o i-2: c -move-> d | |
2023 | | |
|
2023 | | | |
2024 |
o |
|
2024 | o i-1: a -move-> c | |
2025 | | |
|
2025 | | | |
2026 |
o |
|
2026 | o i-0 initial commit: a b h | |
2027 |
|
2027 | |||
2028 | #else |
|
2028 | #else | |
2029 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work |
|
2029 | BROKEN: `hg log --follow <file>` relies on filelog metadata to work | |
2030 | $ hg log -Gfr 'desc("mGFm-0")' d |
|
2030 | $ hg log -Gfr 'desc("mGFm-0")' d | |
2031 |
o |
|
2031 | o g-1: update d | |
2032 | | |
|
2032 | | | |
2033 |
o |
|
2033 | o i-2: c -move-> d | |
2034 | | |
|
2034 | | | |
2035 | ~ |
|
2035 | ~ | |
2036 | #endif |
|
2036 | #endif | |
@@ -2048,19 +2048,19 b' In this case, the file keep on living af' | |||||
2048 | copy tracing chain. |
|
2048 | copy tracing chain. | |
2049 |
|
2049 | |||
2050 | $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' |
|
2050 | $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' | |
2051 |
o |
|
2051 | o mGCm-0 merge updated/deleted - revive the file (updated content) - the other way | |
2052 | |\ |
|
2052 | |\ | |
2053 |
+---o |
|
2053 | +---o mCGm-0 merge updated/deleted - revive the file (updated content) - one way | |
2054 | | |/ |
|
2054 | | |/ | |
2055 |
| o |
|
2055 | | o g-1: update d | |
2056 | | | |
|
2056 | | | | |
2057 |
o | |
|
2057 | o | c-1 delete d | |
2058 | |/ |
|
2058 | |/ | |
2059 |
o |
|
2059 | o i-2: c -move-> d | |
2060 | | |
|
2060 | | | |
2061 |
o |
|
2061 | o i-1: a -move-> c | |
2062 | | |
|
2062 | | | |
2063 |
o |
|
2063 | o i-0 initial commit: a b h | |
2064 |
|
2064 | |||
2065 |
|
2065 | |||
2066 | 'a' is the copy source of 'd' |
|
2066 | 'a' is the copy source of 'd' | |
@@ -2093,19 +2093,19 b' In this case, the file keep on living af' | |||||
2093 | copy tracing chain. |
|
2093 | copy tracing chain. | |
2094 |
|
2094 | |||
2095 | $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))' |
|
2095 | $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))' | |
2096 |
o |
|
2096 | o mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way | |
2097 | |\ |
|
2097 | |\ | |
2098 |
+---o |
|
2098 | +---o mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way | |
2099 | | |/ |
|
2099 | | |/ | |
2100 |
| o |
|
2100 | | o c-1 delete d | |
2101 | | | |
|
2101 | | | | |
2102 |
o | |
|
2102 | o | b-1: b update | |
2103 | |/ |
|
2103 | |/ | |
2104 |
o |
|
2104 | o i-2: c -move-> d | |
2105 | | |
|
2105 | | | |
2106 |
o |
|
2106 | o i-1: a -move-> c | |
2107 | | |
|
2107 | | | |
2108 |
o |
|
2108 | o i-0 initial commit: a b h | |
2109 |
|
2109 | |||
2110 |
|
2110 | |||
2111 | 'a' is the the copy source of 'd' |
|
2111 | 'a' is the the copy source of 'd' | |
@@ -2139,19 +2139,19 b' rename information actually conflict wit' | |||||
2139 | (the copy information from the branch that was not deleted should win). |
|
2139 | (the copy information from the branch that was not deleted should win). | |
2140 |
|
2140 | |||
2141 | $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))' |
|
2141 | $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))' | |
2142 |
o |
|
2142 | o mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way | |
2143 | |\ |
|
2143 | |\ | |
2144 |
+---o |
|
2144 | +---o mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way | |
2145 | | |/ |
|
2145 | | |/ | |
2146 |
| o |
|
2146 | | o h-1: b -(move)-> d | |
2147 | | | |
|
2147 | | | | |
2148 |
o | |
|
2148 | o | c-1 delete d | |
2149 | | | |
|
2149 | | | | |
2150 |
o | |
|
2150 | o | i-2: c -move-> d | |
2151 | | | |
|
2151 | | | | |
2152 |
o | |
|
2152 | o | i-1: a -move-> c | |
2153 | |/ |
|
2153 | |/ | |
2154 |
o |
|
2154 | o i-0 initial commit: a b h | |
2155 |
|
2155 | |||
2156 |
|
2156 | |||
2157 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCH-delete-before-conflict-m")' |
|
2157 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCH-delete-before-conflict-m")' |
General Comments 0
You need to be logged in to leave comments.
Login now