Show More
@@ -299,6 +299,55 b' Note:' | |||
|
299 | 299 | | This lead to bad copy tracing information to be dug up. |
|
300 | 300 | |
|
301 | 301 | |
|
302 | Merge: | |
|
303 | - one with change to an unrelated file (b) | |
|
304 | - one overwriting a file (d) with a rename (from h to i to d) | |
|
305 | ||
|
306 | $ hg up 'desc("i-2")' | |
|
307 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
|
308 | $ hg mv h i | |
|
309 | $ hg commit -m "f-1: rename h -> i" | |
|
310 | created new head | |
|
311 | $ hg mv --force i d | |
|
312 | $ hg commit -m "f-2: rename i -> d" | |
|
313 | $ hg debugindex d | |
|
314 | rev linkrev nodeid p1 p2 | |
|
315 | 0 2 01c2f5eabdc4 000000000000 000000000000 | |
|
316 | 1 10 b004912a8510 000000000000 000000000000 | |
|
317 | 2 15 0bb5445dc4d0 01c2f5eabdc4 b004912a8510 | |
|
318 | 3 22 c72365ee036f 000000000000 000000000000 | |
|
319 | $ hg up 'desc("b-1")' | |
|
320 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
321 | $ hg merge 'desc("f-2")' | |
|
322 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
|
323 | (branch merge, don't forget to commit) | |
|
324 | $ hg ci -m 'mBFm-0 simple merge - one way' | |
|
325 | $ hg up 'desc("f-2")' | |
|
326 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
327 | $ hg merge 'desc("b-1")' | |
|
328 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
329 | (branch merge, don't forget to commit) | |
|
330 | $ hg ci -m 'mFBm-0 simple merge - the other way' | |
|
331 | created new head | |
|
332 | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | |
|
333 | @ 24 mFBm-0 simple merge - the other way] | |
|
334 | |\ | |
|
335 | +---o 23 mBFm-0 simple merge - one way] | |
|
336 | | |/ | |
|
337 | | o 22 f-2: rename i -> d] | |
|
338 | | | | |
|
339 | | o 21 f-1: rename h -> i] | |
|
340 | | | | |
|
341 | o | 5 b-1: b update] | |
|
342 | |/ | |
|
343 | o 2 i-2: c -move-> d] | |
|
344 | | | |
|
345 | o 1 i-1: a -move-> c] | |
|
346 | | | |
|
347 | o 0 i-0 initial commit: a b h] | |
|
348 | ||
|
349 | ||
|
350 | ||
|
302 | 351 | Check results |
|
303 | 352 |
|
|
304 | 353 | |
@@ -448,6 +497,8 b' not a merge.' | |||
|
448 | 497 | 0 2 01c2f5eabdc4 000000000000 000000000000 |
|
449 | 498 | 1 10 b004912a8510 000000000000 000000000000 |
|
450 | 499 | 2 15 0bb5445dc4d0 01c2f5eabdc4 b004912a8510 |
|
500 | 3 22 c72365ee036f 000000000000 000000000000 | |
|
501 | 4 23 863d9bc49190 01c2f5eabdc4 c72365ee036f | |
|
451 | 502 | |
|
452 | 503 | (This `hg log` output if wrong, since no merge actually happened). |
|
453 | 504 | |
@@ -539,3 +590,68 b' Comparing with a merge with colliding re' | |||
|
539 | 590 | a |
|
540 | 591 | R a |
|
541 | 592 | R b |
|
593 | ||
|
594 | Merge: | |
|
595 | - one with change to an unrelated file (b) | |
|
596 | - one overwriting a file (d) with a rename (from h to i to d) | |
|
597 | ||
|
598 | The overwriting should take over. However, the behavior is currently buggy | |
|
599 | ||
|
600 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBFm-0")' | |
|
601 | M b | |
|
602 | A d | |
|
603 | a (true !) | |
|
604 | h (false !) | |
|
605 | R a | |
|
606 | R h | |
|
607 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFBm-0")' | |
|
608 | M b | |
|
609 | A d | |
|
610 | h | |
|
611 | R a | |
|
612 | R h | |
|
613 | $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBFm-0")' | |
|
614 | M d | |
|
615 | R h | |
|
616 | $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mBFm-0")' | |
|
617 | M b | |
|
618 | M d | |
|
619 | $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mBFm-0")' | |
|
620 | M b | |
|
621 | M d | |
|
622 | R i | |
|
623 | $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFBm-0")' | |
|
624 | M d | |
|
625 | R h | |
|
626 | $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFBm-0")' | |
|
627 | M b | |
|
628 | $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFBm-0")' | |
|
629 | M b | |
|
630 | M d | |
|
631 | R i | |
|
632 | ||
|
633 | The following graphlog is wrong, the "a -> c -> d" chain was overwritten and should not appear. | |
|
634 | ||
|
635 | $ hg log -Gfr 'desc("mBFm-0")' d | |
|
636 | o 23 mBFm-0 simple merge - one way] | |
|
637 | |\ | |
|
638 | o : 22 f-2: rename i -> d] | |
|
639 | | : | |
|
640 | o : 21 f-1: rename h -> i] | |
|
641 | :/ | |
|
642 | o 2 i-2: c -move-> d] | |
|
643 | | | |
|
644 | o 1 i-1: a -move-> c] | |
|
645 | | | |
|
646 | o 0 i-0 initial commit: a b h] | |
|
647 | ||
|
648 | ||
|
649 | The following output is correct. | |
|
650 | ||
|
651 | $ hg log -Gfr 'desc("mFBm-0")' d | |
|
652 | o 22 f-2: rename i -> d] | |
|
653 | | | |
|
654 | o 21 f-1: rename h -> i] | |
|
655 | : | |
|
656 | o 0 i-0 initial commit: a b h] | |
|
657 |
General Comments 0
You need to be logged in to leave comments.
Login now