public void WithFullBranchState_BranchesInheritParentFiles() { var f1 = new FileInfo("file1").WithBranch("branch", "1.1.0.2"); var f2 = new FileInfo("file2").WithBranch("branch", "1.1.0.2"); var f3 = new FileInfo("file3").WithBranch("branch", "1.2.0.2"); var mainCommit1 = new Commit("c1").WithRevision(f1, "1.1").WithRevision(f2, "1.1").WithRevision(f3, "1.1"); var mainCommit2 = new Commit("c2").WithRevision(f3, "1.2"); var branchCommit = new Commit("c3").WithRevision(f1, "1.1.2.1"); mainCommit2.AddBranch(branchCommit); var commits = new[] { mainCommit1, mainCommit2, branchCommit }; var state = RepositoryState.CreateWithFullBranchState(commits.CreateAllFiles()); foreach (var c in commits) { state.Apply(c); } var liveFiles = state["branch"].LiveFiles.OrderBy(i => i); Assert.IsTrue(liveFiles.SequenceEqual("file1", "file2", "file3")); Assert.AreEqual(state["branch"]["file1"].ToString(), "1.1.2.1"); Assert.AreEqual(state["branch"]["file2"].ToString(), "1.1"); Assert.AreEqual(state["branch"]["file3"].ToString(), "1.2"); }
public void IsBranchpoint_WithBranches() { m_f1.WithBranch("branch", "1.1.0.2"); var commit = new Commit("main1").WithRevision(m_f1, "1.1"); var branchCommit = new Commit("branch1").WithRevision(m_f1, "1.1.2.1"); commit.AddBranch(branchCommit); Assert.IsTrue(commit.IsBranchpoint); }
public void ReplaceBranch() { m_f1.WithBranch("branch", "1.1.0.2"); var commit = new Commit("main1").WithRevision(m_f1, "1.1"); var branchCommit1 = new Commit("branch1").WithRevision(m_f1, "1.1.2.1"); var branchCommit2 = new Commit("branch2").WithRevision(m_f1, "1.1.2.2"); commit.AddBranch(branchCommit1); commit.ReplaceBranch(branchCommit1, branchCommit2); Assert.IsTrue(commit.IsBranchpoint); Assert.IsTrue(commit.Branches.Single() == branchCommit2); }
public void WithFullBranchState_BranchesInheritParentFiles() { var f1 = new FileInfo("file1").WithBranch("branch", "1.1.0.2"); var f2 = new FileInfo("file2").WithBranch("branch", "1.1.0.2"); var f3 = new FileInfo("file3").WithBranch("branch", "1.2.0.2"); var mainCommit1 = new Commit("c1").WithRevision(f1, "1.1").WithRevision(f2, "1.1").WithRevision(f3, "1.1"); var mainCommit2 = new Commit("c2").WithRevision(f3, "1.2"); var branchCommit = new Commit("c3").WithRevision(f1, "1.1.2.1"); mainCommit2.AddBranch(branchCommit); var commits = new[] { mainCommit1, mainCommit2, branchCommit }; var state = RepositoryState.CreateWithFullBranchState(commits.CreateAllFiles()); foreach (var c in commits) state.Apply(c); var liveFiles = state["branch"].LiveFiles.OrderBy(i => i); Assert.IsTrue(liveFiles.SequenceEqual("file1", "file2", "file3")); Assert.AreEqual(state["branch"]["file1"].ToString(), "1.1.2.1"); Assert.AreEqual(state["branch"]["file2"].ToString(), "1.1"); Assert.AreEqual(state["branch"]["file3"].ToString(), "1.2"); }
public void ReplaceBranch() { m_f1.WithBranch("branch", "1.1.0.2"); var commit = new Commit("main1").WithRevision(m_f1, "1.1"); var branchCommit1 = new Commit("branch1").WithRevision(m_f1, "1.1.2.1"); var branchCommit2 = new Commit("branch2").WithRevision(m_f1, "1.1.2.2"); commit.AddBranch(branchCommit1); commit.ReplaceBranch(branchCommit1, branchCommit2); Assert.IsTrue(commit.IsBranchpoint); Assert.IsTrue(commit.Branches.Single() == branchCommit2); }
public void IsBranchpoint_WithBranches() { m_f1.WithBranch("branch", "1.1.0.2"); var commit = new Commit("main1").WithRevision(m_f1, "1.1"); var branchCommit = new Commit("branch1").WithRevision(m_f1, "1.1.2.1"); commit.AddBranch(branchCommit); Assert.IsTrue(commit.IsBranchpoint); }