##// END OF EJS Templates
test-copies: remove revision number from log...
marmoute -
r47297:74e2256a default
parent child Browse files
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={rev} {desc}\n
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 @ 2 i-2: c -move-> d
74 @ i-2: c -move-> d
75 |
75 |
76 o 1 i-1: a -move-> c
76 o i-1: a -move-> c
77 |
77 |
78 o 0 i-0 initial commit: a b h
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 @ 4 a-2: e -move-> f
88 @ a-2: e -move-> f
89 |
89 |
90 o 3 a-1: d -move-> e
90 o a-1: d -move-> e
91 |
91 |
92 o 2 i-2: c -move-> d
92 o i-2: c -move-> d
93 |
93 |
94 o 1 i-1: a -move-> c
94 o i-1: a -move-> c
95 |
95 |
96 o 0 i-0 initial commit: a b h
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 @ 5 b-1: b update
107 @ b-1: b update
108 |
108 |
109 o 2 i-2: c -move-> d
109 o i-2: c -move-> d
110 |
110 |
111 o 1 i-1: a -move-> c
111 o i-1: a -move-> c
112 |
112 |
113 o 0 i-0 initial commit: a b h
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 @ 6 c-1 delete d
124 @ c-1 delete d
125 |
125 |
126 o 2 i-2: c -move-> d
126 o i-2: c -move-> d
127 |
127 |
128 o 1 i-1: a -move-> c
128 o i-1: a -move-> c
129 |
129 |
130 o 0 i-0 initial commit: a b h
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 @ 8 d-2 re-add d
144 @ d-2 re-add d
145 |
145 |
146 o 7 d-1 delete d
146 o d-1 delete d
147 |
147 |
148 o 2 i-2: c -move-> d
148 o i-2: c -move-> d
149 |
149 |
150 o 1 i-1: a -move-> c
150 o i-1: a -move-> c
151 |
151 |
152 o 0 i-0 initial commit: a b h
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 @ 10 e-2 g -move-> f
165 @ e-2 g -move-> f
166 |
166 |
167 o 9 e-1 b -move-> g
167 o e-1 b -move-> g
168 |
168 |
169 o 2 i-2: c -move-> d
169 o i-2: c -move-> d
170 |
170 |
171 o 1 i-1: a -move-> c
171 o i-1: a -move-> c
172 |
172 |
173 o 0 i-0 initial commit: a b h
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 @ 12 mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
204 @ mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
205 |\
205 |\
206 +---o 11 mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
206 +---o mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
207 | |/
207 | |/
208 | o 5 b-1: b update
208 | o b-1: b update
209 | |
209 | |
210 o | 4 a-2: e -move-> f
210 o | a-2: e -move-> f
211 | |
211 | |
212 o | 3 a-1: d -move-> e
212 o | a-1: d -move-> e
213 |/
213 |/
214 o 2 i-2: c -move-> d
214 o i-2: c -move-> d
215 |
215 |
216 o 1 i-1: a -move-> c
216 o i-1: a -move-> c
217 |
217 |
218 o 0 i-0 initial commit: a b h
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 @ 16 mCBm-1 re-add d
252 @ mCBm-1 re-add d
253 |
253 |
254 o 15 mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
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 14 mBCm-1 re-add d
256 | | o mBCm-1 re-add d
257 | | |
257 | | |
258 +---o 13 mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
258 +---o mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
259 | |/
259 | |/
260 | o 6 c-1 delete d
260 | o c-1 delete d
261 | |
261 | |
262 o | 5 b-1: b update
262 o | b-1: b update
263 |/
263 |/
264 o 2 i-2: c -move-> d
264 o i-2: c -move-> d
265 |
265 |
266 o 1 i-1: a -move-> c
266 o i-1: a -move-> c
267 |
267 |
268 o 0 i-0 initial commit: a b h
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 @ 18 mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
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 17 mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
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 8 d-2 re-add d
298 | o d-2 re-add d
299 | |
299 | |
300 | o 7 d-1 delete d
300 | o d-1 delete d
301 | |
301 | |
302 o | 5 b-1: b update
302 o | b-1: b update
303 |/
303 |/
304 o 2 i-2: c -move-> d
304 o i-2: c -move-> d
305 |
305 |
306 o 1 i-1: a -move-> c
306 o i-1: a -move-> c
307 |
307 |
308 o 0 i-0 initial commit: a b h
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 @ 20 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
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 19 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
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 10 e-2 g -move-> f
344 | o e-2 g -move-> f
345 | |
345 | |
346 | o 9 e-1 b -move-> g
346 | o e-1 b -move-> g
347 | |
347 | |
348 o | 4 a-2: e -move-> f
348 o | a-2: e -move-> f
349 | |
349 | |
350 o | 3 a-1: d -move-> e
350 o | a-1: d -move-> e
351 |/
351 |/
352 o 2 i-2: c -move-> d
352 o i-2: c -move-> d
353 |
353 |
354 o 1 i-1: a -move-> c
354 o i-1: a -move-> c
355 |
355 |
356 o 0 i-0 initial commit: a b h
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 @ 24 mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
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 23 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
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 22 f-2: rename i -> d
401 | o f-2: rename i -> d
402 | |
402 | |
403 | o 21 f-1: rename h -> i
403 | o f-1: rename h -> i
404 | |
404 | |
405 o | 5 b-1: b update
405 o | b-1: b update
406 |/
406 |/
407 o 2 i-2: c -move-> d
407 o i-2: c -move-> d
408 |
408 |
409 o 1 i-1: a -move-> c
409 o i-1: a -move-> c
410 |
410 |
411 o 0 i-0 initial commit: a b h
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 @ 27 mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
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 26 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
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 25 g-1: update d
453 | o g-1: update d
454 | |
454 | |
455 o | 8 d-2 re-add d
455 o | d-2 re-add d
456 | |
456 | |
457 o | 7 d-1 delete d
457 o | d-1 delete d
458 |/
458 |/
459 o 2 i-2: c -move-> d
459 o i-2: c -move-> d
460 |
460 |
461 o 1 i-1: a -move-> c
461 o i-1: a -move-> c
462 |
462 |
463 o 0 i-0 initial commit: a b h
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 @ 29 mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
504 @ mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
505 |\
505 |\
506 +---o 28 mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
506 +---o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
507 | |/
507 | |/
508 | o 25 g-1: update d
508 | o g-1: update d
509 | |
509 | |
510 o | 22 f-2: rename i -> d
510 o | f-2: rename i -> d
511 | |
511 | |
512 o | 21 f-1: rename h -> i
512 o | f-1: rename h -> i
513 |/
513 |/
514 o 2 i-2: c -move-> d
514 o i-2: c -move-> d
515 |
515 |
516 o 1 i-1: a -move-> c
516 o i-1: a -move-> c
517 |
517 |
518 o 0 i-0 initial commit: a b h
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 @ 31 mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
564 @ mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
565 |\
565 |\
566 +---o 30 mCGm-0 merge updated/deleted - revive the file (updated content) - one way
566 +---o mCGm-0 merge updated/deleted - revive the file (updated content) - one way
567 | |/
567 | |/
568 | o 25 g-1: update d
568 | o g-1: update d
569 | |
569 | |
570 o | 6 c-1 delete d
570 o | c-1 delete d
571 |/
571 |/
572 o 2 i-2: c -move-> d
572 o i-2: c -move-> d
573 |
573 |
574 o 1 i-1: a -move-> c
574 o i-1: a -move-> c
575 |
575 |
576 o 0 i-0 initial commit: a b h
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 @ 33 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
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 32 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
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 6 c-1 delete d
617 | o c-1 delete d
618 | |
618 | |
619 o | 5 b-1: b update
619 o | b-1: b update
620 |/
620 |/
621 o 2 i-2: c -move-> d
621 o i-2: c -move-> d
622 |
622 |
623 o 1 i-1: a -move-> c
623 o i-1: a -move-> c
624 |
624 |
625 o 0 i-0 initial commit: a b h
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 @ 36 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
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 35 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
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 34 h-1: b -(move)-> d
666 | o h-1: b -(move)-> d
667 | |
667 | |
668 o | 6 c-1 delete d
668 o | c-1 delete d
669 | |
669 | |
670 o | 2 i-2: c -move-> d
670 o | i-2: c -move-> d
671 | |
671 | |
672 o | 1 i-1: a -move-> c
672 o | i-1: a -move-> c
673 |/
673 |/
674 o 0 i-0 initial commit: a b h
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 @ 42 mJ,EAm: chained merges (conflict -> simple) - same content everywhere
753 @ mJ,EAm: chained merges (conflict -> simple) - same content everywhere
754 |\
754 |\
755 +---o 41 mEA,Jm: chained merges (conflict -> simple) - same content everywhere
755 +---o mEA,Jm: chained merges (conflict -> simple) - same content everywhere
756 | |/
756 | |/
757 | | o 40 mK,AEm: chained merges (conflict -> simple) - same content everywhere
757 | | o mK,AEm: chained merges (conflict -> simple) - same content everywhere
758 | | |\
758 | | |\
759 | | +---o 39 mAE,Km: chained merges (conflict -> simple) - same content everywhere
759 | | +---o mAE,Km: chained merges (conflict -> simple) - same content everywhere
760 | | | |/
760 | | | |/
761 | | | o 38 k-1: unrelated changes (based on "e" changes)
761 | | | o k-1: unrelated changes (based on "e" changes)
762 | | | |
762 | | | |
763 | o | | 37 j-1: unrelated changes (based on the "a" series of changes)
763 | o | | j-1: unrelated changes (based on the "a" series of changes)
764 | | | |
764 | | | |
765 o-----+ 20 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
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 / 19 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
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 10 e-2 g -move-> f
769 | o e-2 g -move-> f
770 | |
770 | |
771 | o 9 e-1 b -move-> g
771 | o e-1 b -move-> g
772 | |
772 | |
773 o | 4 a-2: e -move-> f
773 o | a-2: e -move-> f
774 | |
774 | |
775 o | 3 a-1: d -move-> e
775 o | a-1: d -move-> e
776 |/
776 |/
777 o 2 i-2: c -move-> d
777 o i-2: c -move-> d
778 |
778 |
779 o 1 i-1: a -move-> c
779 o i-1: a -move-> c
780 |
780 |
781 o 0 i-0 initial commit: a b h
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 @ 47 mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
842 @ mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
843 |\
843 |\
844 | | o 46 mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
844 | | o mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
845 | |/|
845 | |/|
846 +-+---o 45 mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
846 +-+---o mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
847 | | |
847 | | |
848 | +---o 44 mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
848 | +---o mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
849 | | |/
849 | | |/
850 | o | 43 l-1: unrelated changes (based on "c" changes)
850 | o | l-1: unrelated changes (based on "c" changes)
851 | | |
851 | | |
852 | | o 33 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
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---+ 32 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
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 | 6 c-1 delete d
856 o | c-1 delete d
857 | |
857 | |
858 | o 5 b-1: b update
858 | o b-1: b update
859 |/
859 |/
860 o 2 i-2: c -move-> d
860 o i-2: c -move-> d
861 |
861 |
862 o 1 i-1: a -move-> c
862 o i-1: a -move-> c
863 |
863 |
864 o 0 i-0 initial commit: a b h
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 @ 53 mN,GFm: chained merges (copy-overwrite -> simple) - same content
934 @ mN,GFm: chained merges (copy-overwrite -> simple) - same content
935 |\
935 |\
936 +---o 52 mGF,Nm: chained merges (copy-overwrite -> simple) - same content
936 +---o mGF,Nm: chained merges (copy-overwrite -> simple) - same content
937 | |/
937 | |/
938 | | o 51 mO,FGm: chained merges (copy-overwrite -> simple) - same content
938 | | o mO,FGm: chained merges (copy-overwrite -> simple) - same content
939 | | |\
939 | | |\
940 | | +---o 50 mFG,Om: chained merges (copy-overwrite -> simple) - same content
940 | | +---o mFG,Om: chained merges (copy-overwrite -> simple) - same content
941 | | | |/
941 | | | |/
942 | | | o 49 o-1: unrelated changes (based on "g" changes)
942 | | | o o-1: unrelated changes (based on "g" changes)
943 | | | |
943 | | | |
944 | o | | 48 n-1: unrelated changes (based on the "f" series of changes)
944 | o | | n-1: unrelated changes (based on the "f" series of changes)
945 | | | |
945 | | | |
946 o-----+ 29 mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
946 o-----+ mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
947 |/ / /
947 |/ / /
948 | o / 28 mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
948 | o / mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
949 |/|/
949 |/|/
950 | o 25 g-1: update d
950 | o g-1: update d
951 | |
951 | |
952 o | 22 f-2: rename i -> d
952 o | f-2: rename i -> d
953 | |
953 | |
954 o | 21 f-1: rename h -> i
954 o | f-1: rename h -> i
955 |/
955 |/
956 o 2 i-2: c -move-> d
956 o i-2: c -move-> d
957 |
957 |
958 o 1 i-1: a -move-> c
958 o i-1: a -move-> c
959 |
959 |
960 o 0 i-0 initial commit: a b h
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 12 mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
1367 o mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
1368 |\
1368 |\
1369 +---o 11 mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
1369 +---o mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
1370 | |/
1370 | |/
1371 | o 5 b-1: b update
1371 | o b-1: b update
1372 | |
1372 | |
1373 o | 4 a-2: e -move-> f
1373 o | a-2: e -move-> f
1374 | |
1374 | |
1375 o | 3 a-1: d -move-> e
1375 o | a-1: d -move-> e
1376 |/
1376 |/
1377 o 2 i-2: c -move-> d
1377 o i-2: c -move-> d
1378 |
1378 |
1379 o 1 i-1: a -move-> c
1379 o i-1: a -move-> c
1380 |
1380 |
1381 o 0 i-0 initial commit: a b h
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 16 mCBm-1 re-add d
1426 o mCBm-1 re-add d
1427 |
1427 |
1428 o 15 mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
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 14 mBCm-1 re-add d
1430 | | o mBCm-1 re-add d
1431 | | |
1431 | | |
1432 +---o 13 mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
1432 +---o mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
1433 | |/
1433 | |/
1434 | o 6 c-1 delete d
1434 | o c-1 delete d
1435 | |
1435 | |
1436 o | 5 b-1: b update
1436 o | b-1: b update
1437 |/
1437 |/
1438 o 2 i-2: c -move-> d
1438 o i-2: c -move-> d
1439 |
1439 |
1440 o 1 i-1: a -move-> c
1440 o i-1: a -move-> c
1441 |
1441 |
1442 o 0 i-0 initial commit: a b h
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 18 mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
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 17 mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
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 8 d-2 re-add d
1506 | o d-2 re-add d
1507 | |
1507 | |
1508 | o 7 d-1 delete d
1508 | o d-1 delete d
1509 | |
1509 | |
1510 o | 5 b-1: b update
1510 o | b-1: b update
1511 |/
1511 |/
1512 o 2 i-2: c -move-> d
1512 o i-2: c -move-> d
1513 |
1513 |
1514 o 1 i-1: a -move-> c
1514 o i-1: a -move-> c
1515 |
1515 |
1516 o 0 i-0 initial commit: a b h
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 8 d-2 re-add d
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 8 d-2 re-add d
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 20 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
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 19 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
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 10 e-2 g -move-> f
1589 | o e-2 g -move-> f
1590 | |
1590 | |
1591 | o 9 e-1 b -move-> g
1591 | o e-1 b -move-> g
1592 | |
1592 | |
1593 o | 4 a-2: e -move-> f
1593 o | a-2: e -move-> f
1594 | |
1594 | |
1595 o | 3 a-1: d -move-> e
1595 o | a-1: d -move-> e
1596 |/
1596 |/
1597 o 2 i-2: c -move-> d
1597 o i-2: c -move-> d
1598 |
1598 |
1599 o 1 i-1: a -move-> c
1599 o i-1: a -move-> c
1600 |
1600 |
1601 o 0 i-0 initial commit: a b h
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 24 mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
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 23 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
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 22 f-2: rename i -> d
1712 | o f-2: rename i -> d
1713 | |
1713 | |
1714 | o 21 f-1: rename h -> i
1714 | o f-1: rename h -> i
1715 | |
1715 | |
1716 o | 5 b-1: b update
1716 o | b-1: b update
1717 |/
1717 |/
1718 o 2 i-2: c -move-> d
1718 o i-2: c -move-> d
1719 |
1719 |
1720 o 1 i-1: a -move-> c
1720 o i-1: a -move-> c
1721 |
1721 |
1722 o 0 i-0 initial commit: a b h
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 22 f-2: rename i -> d
1761 o f-2: rename i -> d
1762 |
1762 |
1763 o 21 f-1: rename h -> i
1763 o f-1: rename h -> i
1764 :
1764 :
1765 o 0 i-0 initial commit: a b h
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 2 i-2: c -move-> d
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 22 f-2: rename i -> d
1777 o f-2: rename i -> d
1778 |
1778 |
1779 o 21 f-1: rename h -> i
1779 o f-1: rename h -> i
1780 :
1780 :
1781 o 0 i-0 initial commit: a b h
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 2 i-2: c -move-> d
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 27 mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
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 26 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
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 25 g-1: update d
1806 | o g-1: update d
1807 | |
1807 | |
1808 o | 8 d-2 re-add d
1808 o | d-2 re-add d
1809 | |
1809 | |
1810 o | 7 d-1 delete d
1810 o | d-1 delete d
1811 |/
1811 |/
1812 o 2 i-2: c -move-> d
1812 o i-2: c -move-> d
1813 |
1813 |
1814 o 1 i-1: a -move-> c
1814 o i-1: a -move-> c
1815 |
1815 |
1816 o 0 i-0 initial commit: a b h
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 26 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
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 25 g-1: update d
1845 | o g-1: update d
1846 | |
1846 | |
1847 o | 8 d-2 re-add d
1847 o | d-2 re-add d
1848 |/
1848 |/
1849 o 2 i-2: c -move-> d
1849 o i-2: c -move-> d
1850 |
1850 |
1851 o 1 i-1: a -move-> c
1851 o i-1: a -move-> c
1852 |
1852 |
1853 o 0 i-0 initial commit: a b h
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 26 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
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 25 g-1: update d
1860 | o g-1: update d
1861 | |
1861 | |
1862 o | 8 d-2 re-add d
1862 o | d-2 re-add d
1863 |/
1863 |/
1864 o 2 i-2: c -move-> d
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 26 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
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 25 g-1: update d
1874 | o g-1: update d
1875 | |
1875 | |
1876 o | 8 d-2 re-add d
1876 o | d-2 re-add d
1877 |/
1877 |/
1878 o 2 i-2: c -move-> d
1878 o i-2: c -move-> d
1879 |
1879 |
1880 o 1 i-1: a -move-> c
1880 o i-1: a -move-> c
1881 |
1881 |
1882 o 0 i-0 initial commit: a b h
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 26 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
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 25 g-1: update d
1889 | o g-1: update d
1890 | |
1890 | |
1891 o | 8 d-2 re-add d
1891 o | d-2 re-add d
1892 |/
1892 |/
1893 o 2 i-2: c -move-> d
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 29 mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
1910 o mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
1911 |\
1911 |\
1912 +---o 28 mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
1912 +---o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
1913 | |/
1913 | |/
1914 | o 25 g-1: update d
1914 | o g-1: update d
1915 | |
1915 | |
1916 o | 22 f-2: rename i -> d
1916 o | f-2: rename i -> d
1917 | |
1917 | |
1918 o | 21 f-1: rename h -> i
1918 o | f-1: rename h -> i
1919 |/
1919 |/
1920 o 2 i-2: c -move-> d
1920 o i-2: c -move-> d
1921 |
1921 |
1922 o 1 i-1: a -move-> c
1922 o i-1: a -move-> c
1923 |
1923 |
1924 o 0 i-0 initial commit: a b h
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 28 mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
1988 o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
1989 |\
1989 |\
1990 | o 25 g-1: update d
1990 | o g-1: update d
1991 | |
1991 | |
1992 o | 22 f-2: rename i -> d
1992 o | f-2: rename i -> d
1993 | |
1993 | |
1994 o | 21 f-1: rename h -> i
1994 o | f-1: rename h -> i
1995 |/
1995 |/
1996 o 2 i-2: c -move-> d
1996 o i-2: c -move-> d
1997 |
1997 |
1998 o 1 i-1: a -move-> c
1998 o i-1: a -move-> c
1999 |
1999 |
2000 o 0 i-0 initial commit: a b h
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 25 g-1: update d
2005 o g-1: update d
2006 |
2006 |
2007 o 2 i-2: c -move-> d
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 29 mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
2014 o mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
2015 |\
2015 |\
2016 | o 25 g-1: update d
2016 | o g-1: update d
2017 | |
2017 | |
2018 o | 22 f-2: rename i -> d
2018 o | f-2: rename i -> d
2019 | |
2019 | |
2020 o | 21 f-1: rename h -> i
2020 o | f-1: rename h -> i
2021 |/
2021 |/
2022 o 2 i-2: c -move-> d
2022 o i-2: c -move-> d
2023 |
2023 |
2024 o 1 i-1: a -move-> c
2024 o i-1: a -move-> c
2025 |
2025 |
2026 o 0 i-0 initial commit: a b h
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 25 g-1: update d
2031 o g-1: update d
2032 |
2032 |
2033 o 2 i-2: c -move-> d
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 31 mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
2051 o mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
2052 |\
2052 |\
2053 +---o 30 mCGm-0 merge updated/deleted - revive the file (updated content) - one way
2053 +---o mCGm-0 merge updated/deleted - revive the file (updated content) - one way
2054 | |/
2054 | |/
2055 | o 25 g-1: update d
2055 | o g-1: update d
2056 | |
2056 | |
2057 o | 6 c-1 delete d
2057 o | c-1 delete d
2058 |/
2058 |/
2059 o 2 i-2: c -move-> d
2059 o i-2: c -move-> d
2060 |
2060 |
2061 o 1 i-1: a -move-> c
2061 o i-1: a -move-> c
2062 |
2062 |
2063 o 0 i-0 initial commit: a b h
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 33 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
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 32 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
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 6 c-1 delete d
2100 | o c-1 delete d
2101 | |
2101 | |
2102 o | 5 b-1: b update
2102 o | b-1: b update
2103 |/
2103 |/
2104 o 2 i-2: c -move-> d
2104 o i-2: c -move-> d
2105 |
2105 |
2106 o 1 i-1: a -move-> c
2106 o i-1: a -move-> c
2107 |
2107 |
2108 o 0 i-0 initial commit: a b h
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 36 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
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 35 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
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 34 h-1: b -(move)-> d
2146 | o h-1: b -(move)-> d
2147 | |
2147 | |
2148 o | 6 c-1 delete d
2148 o | c-1 delete d
2149 | |
2149 | |
2150 o | 2 i-2: c -move-> d
2150 o | i-2: c -move-> d
2151 | |
2151 | |
2152 o | 1 i-1: a -move-> c
2152 o | i-1: a -move-> c
2153 |/
2153 |/
2154 o 0 i-0 initial commit: a b h
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