public void MergeFromParentBranch_Ignore() { var commits = new List <Commit>() { new Commit("initial").WithRevision(m_file, "1.1"), new Commit("branch1").WithRevision(m_file, "1.1.2.1"), new Commit("main1").WithRevision(m_file, "1.2"), new Commit("branch2").WithRevision(m_file, "1.1.2.2", mergepoint: "1.2"), }; m_file.WithBranch("branch", "1.1.0.2"); var branchpoints = new Dictionary <string, Commit>() { { "branch", commits[0] } }; var streams = new BranchStreamCollection(commits, branchpoints); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); Assert.IsTrue(streams["MAIN"].ToList().All(c => c.MergeFrom == null)); Assert.IsTrue(streams["branch"].ToList().All(c => c.MergeFrom == null)); }
public void CrossedMerge_LongerHistoryOnMergeDestination() { var commits = new List <Commit>() { new Commit("initial1").WithRevision(m_file, "1.1"), new Commit("initial2").WithRevision(m_file, "1.2"), new Commit("initial3").WithRevision(m_file, "1.3"), new Commit("branch1").WithRevision(m_file, "1.3.2.1"), new Commit("branch2").WithRevision(m_file, "1.3.2.2"), new Commit("merge1").WithRevision(m_file, "1.4", mergepoint: "1.3.2.2"), new Commit("merge2").WithRevision(m_file, "1.5", mergepoint: "1.3.2.1"), }; m_file.WithBranch("branch", "1.3.0.2"); var branchpoints = new Dictionary <string, Commit>() { { "branch", commits[0] } }; var streams = new BranchStreamCollection(commits, branchpoints); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); Assert.IsTrue(streams["MAIN"].ToList().Select(c => c.CommitId).SequenceEqual("initial1", "initial2", "initial3", "merge1", "merge2")); Assert.IsTrue(streams["branch"].ToList().Select(c => c.CommitId).SequenceEqual("branch2", "branch1")); }
public void CrossedMerge_Reordered() { var streams = CreateCrossedMerges(); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); Assert.IsTrue(streams["MAIN"].ToList().Select(c => c.CommitId).SequenceEqual("initial", "merge1", "merge2")); Assert.IsTrue(streams["branch"].ToList().Select(c => c.CommitId).SequenceEqual("branch2", "branch1")); }
public void SingleMerge_NoReordering() { var streams = CreateSingleMerge(); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); Assert.IsTrue(streams["MAIN"].ToList().Select(c => c.CommitId).SequenceEqual("initial", "merge")); Assert.IsTrue(streams["branch"].ToList().Select(c => c.CommitId).SequenceEqual("branch")); }
public void SingleMerge_MergesFilledIn() { var streams = CreateSingleMerge(); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); Assert.IsTrue(streams["MAIN"].Successor.CommitId == "merge" && streams["MAIN"].Successor.MergeFrom.CommitId == "branch"); Assert.IsTrue(streams["MAIN"].ToList().Where(c => c.CommitId != "merge").All(c => c.MergeFrom == null)); Assert.IsTrue(streams["branch"].ToList().All(c => c.MergeFrom == null)); }
public void CrossedMerge_MergesFilledIn() { var streams = CreateCrossedMerges(); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); var main0 = streams["MAIN"]; var main1 = main0.Successor; var main2 = main1.Successor; Assert.IsTrue(main0.CommitId == "initial" && main0.MergeFrom == null); Assert.IsTrue(main1.CommitId == "merge1" && main1.MergeFrom.CommitId == "branch2"); Assert.IsTrue(main2.CommitId == "merge2" && main2.MergeFrom.CommitId == "branch1"); Assert.IsTrue(streams["branch"].ToList().All(c => c.MergeFrom == null)); }
public void SingleMergeOnExcludedBranch_NoMergeFilledIn() { var commits = new List <Commit>() { new Commit("initial").WithRevision(m_file, "1.1"), new Commit("merge").WithRevision(m_file, "1.2", mergepoint: "1.1.2.1"), }; var branchpoints = new Dictionary <string, Commit>() { { "branch", commits[0] } }; var streams = new BranchStreamCollection(commits, branchpoints); var resolver = new MergeResolver(m_logger, streams); resolver.Resolve(); Assert.IsTrue(streams["MAIN"].ToList().All(c => c.MergeFrom == null)); }