@@ -609,7 +609,7 @@ public void CanRewriteParents()
609
609
// Graft the orphan "test" branch to the tip of "packed"
610
610
//
611
611
// Before:
612
- // * e90810b (test, lw, e90810b, test)
612
+ // * e90810b (test, tag: lw, tag: e90810b, tag: test)
613
613
// |
614
614
// * 6dcf9bf
615
615
// <------------------ note: no connection
@@ -619,7 +619,7 @@ public void CanRewriteParents()
619
619
//
620
620
// ... and after:
621
621
//
622
- // * f558880 (test, lw, e90810b, test)
622
+ // * f558880 (test, tag: lw, tag: e90810b, tag: test)
623
623
// |
624
624
// * 0c25efa
625
625
// | <------------------ add this link
@@ -630,29 +630,40 @@ public void CanRewriteParents()
630
630
public void CanRewriteParentWithRewrittenCommit ( )
631
631
{
632
632
var commitToRewrite = repo . Lookup < Commit > ( "6dcf9bf" ) ;
633
- var newParent = repo . Lookup < Commit > ( "41bc8c6" ) ;
633
+ var newParent = repo . Branches [ "packed" ] . Tip ;
634
+
635
+ Assert . True ( newParent . Sha . StartsWith ( "41bc8c6" ) ) ;
634
636
635
637
repo . Refs . RewriteHistory ( new RewriteHistoryOptions
636
638
{
637
639
OnError = OnError ,
638
640
OnSucceeding = OnSucceeding ,
639
- CommitHeaderRewriter =
640
- c =>
641
- c . Id != newParent . Id
642
- ? null
643
- : CommitRewriteInfo . From ( c , message : "changed" ) ,
644
641
CommitParentsRewriter =
645
642
c =>
646
643
c . Id != commitToRewrite . Id
647
644
? c . Parents
648
645
: new [ ] { newParent }
649
- } , commitToRewrite , newParent ) ;
646
+ } , commitToRewrite ) ;
650
647
651
648
AssertSucceedingButNotError ( ) ;
652
649
653
- var rewrittenParent = repo . Lookup < Commit > ( "refs/heads/test~" ) . Parents . Single ( ) ;
654
- Assert . Equal ( newParent . Tree , rewrittenParent . Tree ) ;
655
- Assert . NotEqual ( newParent , rewrittenParent ) ;
650
+ // Assert "packed" hasn't been rewritten
651
+ Assert . True ( repo . Branches [ "packed" ] . Tip . Sha . StartsWith ( "41bc8c6" ) ) ;
652
+
653
+ // Assert (test, tag: lw, tag: e90810b, tag: test) have been rewritten
654
+ var rewrittenTestCommit = repo . Branches [ "test" ] . Tip ;
655
+ Assert . True ( rewrittenTestCommit . Sha . StartsWith ( "f558880" ) ) ;
656
+ Assert . Equal ( rewrittenTestCommit , repo . Lookup < Commit > ( "refs/tags/lw^{commit}" ) ) ;
657
+ Assert . Equal ( rewrittenTestCommit , repo . Lookup < Commit > ( "refs/tags/e90810b^{commit}" ) ) ;
658
+ Assert . Equal ( rewrittenTestCommit , repo . Lookup < Commit > ( "refs/tags/test^{commit}" ) ) ;
659
+
660
+ // Assert parent of rewritten commit
661
+ var rewrittenTestCommitParent = rewrittenTestCommit . Parents . Single ( ) ;
662
+ Assert . True ( rewrittenTestCommitParent . Sha . StartsWith ( "0c25efa" ) ) ;
663
+
664
+ // Assert grand parent of rewritten commit
665
+ var rewrittenTestCommitGrandParent = rewrittenTestCommitParent . Parents . Single ( ) ;
666
+ Assert . True ( rewrittenTestCommitGrandParent . Sha . StartsWith ( "41bc8c6" ) ) ;
656
667
}
657
668
658
669
[ Fact ]
0 commit comments