588 |
588 |
589 $ hg rebase -s 14 -d 18 --config experimental.rebaseskipobsolete=True |
589 $ hg rebase -s 14 -d 18 --config experimental.rebaseskipobsolete=True |
590 note: not rebasing 14:9ad579b4a5de "I", already in destination as 17:fc37a630c901 "K" |
590 note: not rebasing 14:9ad579b4a5de "I", already in destination as 17:fc37a630c901 "K" |
591 rebasing 15:5ae8a643467b "J" |
591 rebasing 15:5ae8a643467b "J" |
592 |
592 |
|
593 $ cd .. |
|
594 |
|
595 Skip obsolete changeset even with multiple hops |
|
596 ----------------------------------------------- |
|
597 |
|
598 setup |
|
599 |
|
600 $ hg init obsskip |
|
601 $ cd obsskip |
|
602 $ cat << EOF >> .hg/hgrc |
|
603 > [experimental] |
|
604 > rebaseskipobsolete = True |
|
605 > [extensions] |
|
606 > strip = |
|
607 > EOF |
|
608 $ echo A > A |
|
609 $ hg add A |
|
610 $ hg commit -m A |
|
611 $ echo B > B |
|
612 $ hg add B |
|
613 $ hg commit -m B0 |
|
614 $ hg commit --amend -m B1 |
|
615 $ hg commit --amend -m B2 |
|
616 $ hg up --hidden 'desc(B0)' |
|
617 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
618 $ echo C > C |
|
619 $ hg add C |
|
620 $ hg commit -m C |
|
621 |
|
622 Rebase finds its way in a chain of marker |
|
623 |
|
624 $ hg rebase -d 'desc(B2)' |
|
625 note: not rebasing 1:a8b11f55fb19 "B0", already in destination as 3:261e70097290 "B2" |
|
626 rebasing 4:212cb178bcbb "C" (tip) |
|
627 |
|
628 Even when the chain include missing node |
|
629 |
|
630 $ hg up --hidden 'desc(B0)' |
|
631 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
632 $ echo D > D |
|
633 $ hg add D |
|
634 $ hg commit -m D |
|
635 $ hg --hidden strip -r 'desc(B1)' |
|
636 saved backup bundle to $TESTTMP/obsskip/.hg/strip-backup/86f6414ccda7-b1c452ee-backup.hg (glob) |
|
637 |
|
638 $ hg rebase -d 'desc(B2)' |
|
639 note: not rebasing 1:a8b11f55fb19 "B0", already in destination as 2:261e70097290 "B2" |
|
640 rebasing 5:1a79b7535141 "D" (tip) |