8000 Restore test for rewriting rewritten parent · GiTechLab/libgit2sharp@e37b6b3 · GitHub
[go: up one dir, main page]

Skip to content

Commit e37b6b3

Browse files
committed
Restore test for rewriting rewritten parent
1 parent 4341e7e commit e37b6b3

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

LibGit2Sharp.Tests/FilterBranchFixture.cs

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ public void CanRewriteParents()
606606
Assert.True(hasBeenCalled);
607607
}
608608

609-
// Graft the orphan "test" branch to the tip of "packed"
609+
// Graft the orphan "test" branch to the rewritten tip of "packed"
610610
//
611611
// Before:
612612
// * e90810b (test, tag: lw, tag: e90810b, tag: test)
@@ -623,7 +623,7 @@ public void CanRewriteParents()
623623
// |
624624
// * 0c25efa
625625
// | <------------------ add this link
626-
// * 41bc8c6 (packed)
626+
// * 107e13b (packed) <-- to this rewritten commit
627627
// |
628628
// * 5001298
629629
[Fact]
@@ -638,32 +638,48 @@ public void CanRewriteParentWithRewrittenCommit()
638638
{
639639
OnError = OnError,
640640
OnSucceeding = OnSucceeding,
641+
CommitHeaderRewriter =
642+
c =>
643+
{
644+
if (c.Id == newParent.Id)
645+
{
646+
return CommitRewriteInfo.From(c, message: "changed");
647+
}
648+
649+
return null;
650+
},
641651
CommitParentsRewriter =
642652
c =>
643-
c.Id != commitToRewrite.Id
644-
? c.Parents
645-
: new[] { newParent }
646-
}, commitToRewrite);
653+
{
654+
if (c.Id == commitToRewrite.Id)
655+
{
656+
return new[] { newParent };
657+
}
658+
659+
return c.Parents;
660+
},
661+
}, commitToRewrite, newParent);
647662

648663
AssertSucceedingButNotError();
649664

650-
// Assert "packed" hasn't been rewritten
651-
Assert.True(repo.Branches["packed"].Tip.Sha.StartsWith("41bc8c6"));
665+
// Assert "packed" has been rewritten
666+
var newPackedCommit = repo.Branches["packed"].Tip;
667+
Assert.True(newPackedCommit.Sha.StartsWith("107e13b"));
652668

653669
// Assert (test, tag: lw, tag: e90810b, tag: test) have been rewritten
654670
var rewrittenTestCommit = repo.Branches["test"].Tip;
655-
Assert.True(rewrittenTestCommit.Sha.StartsWith("f558880"));
671+
Assert.True(rewrittenTestCommit.Sha.StartsWith("f558880")); // TODO: This SHA should change
656672
Assert.Equal(rewrittenTestCommit, repo.Lookup<Commit>("refs/tags/lw^{commit}"));
657673
Assert.Equal(rewrittenTestCommit, repo.Lookup<Commit>("refs/tags/e90810b^{commit}"));
658674
Assert.Equal(rewrittenTestCommit, repo.Lookup<Commit>("refs/tags/test^{commit}"));
659675

660676
// Assert parent of rewritten commit
661677
var rewrittenTestCommitParent = rewrittenTestCommit.Parents.Single();
662-
Assert.True(rewrittenTestCommitParent.Sha.StartsWith("0c25efa"));
678+
Assert.True(rewrittenTestCommitParent.Sha.StartsWith("0c25efa")); // TODO: This SHA should change
663679

664680
// Assert grand parent of rewritten commit
665681
var rewrittenTestCommitGrandParent = rewrittenTestCommitParent.Parents.Single();
666-
Assert.True(rewrittenTestCommitGrandParent.Sha.StartsWith("41bc8c6"));
682+
Assert.Equal(newPackedCommit, rewrittenTestCommitGrandParent);
667683
}
668684

669685
[Fact]

0 commit comments

Comments
 (0)
0