public void GitFlowSupportMinorRelease() { using (var fixture = new EmptyRepositoryFixture()) { fixture.SequenceDiagram.Participant("develop"); fixture.SequenceDiagram.Participant("master"); fixture.Repository.MakeACommit(); fixture.ApplyTag("1.3.0"); // GitFlow setup fixture.Repository.MakeACommit(); fixture.BranchTo("develop"); fixture.SequenceDiagram.NoteOver("Create 2.0.0 release and complete", "develop", "master"); fixture.Checkout("master"); fixture.ApplyTag("2.0.0"); // Create hotfix branch fixture.Checkout("1.3.0"); fixture.BranchToFromTag("support/1.x", "1.3.0", "master", "support"); fixture.SequenceDiagram.NoteOver("Create 1.3.1 release and complete", "master", "support/1.x"); fixture.Repository.MakeACommit(); fixture.ApplyTag("1.3.1"); fixture.BranchTo("release/1.4.0", "supportRelease"); fixture.SequenceDiagram.Activate("release/1.4.0"); fixture.MakeACommit(); fixture.MakeACommit(); fixture.AssertFullSemver("1.4.0-beta.1+2"); // Apply beta.1 tag should be exact tag fixture.ApplyTag("1.4.0-beta.1"); fixture.AssertFullSemver("1.4.0-beta.1"); fixture.Checkout("support/1.x"); fixture.MergeNoFF("release/1.4.0"); fixture.SequenceDiagram.Destroy("release/1.4.0"); fixture.SequenceDiagram.NoteOver("Release branches are deleted once merged", "release/1.4.0"); fixture.AssertFullSemver("1.4.0+0"); fixture.ApplyTag("1.4.0"); fixture.AssertFullSemver("1.4.0"); Console.WriteLine(fixture.SequenceDiagram.GetDiagram()); } }
public void GitFlowSupportHotfixRelease() { using (var fixture = new EmptyRepositoryFixture(new Config())) { fixture.Participant("develop"); fixture.Participant("master"); fixture.Repository.MakeACommit(); fixture.ApplyTag("1.3.0"); // GitFlow setup fixture.Repository.MakeACommit(); fixture.BranchTo("develop"); fixture.NoteOver("Create 2.0.0 release and complete", "develop", "master"); fixture.Checkout("master"); fixture.ApplyTag("2.0.0"); // Create hotfix branch fixture.Checkout("1.3.0"); fixture.BranchToFromTag("support/1.x", "1.3.0", "master", "support"); fixture.MakeACommit(); fixture.AssertFullSemver("1.3.1+1"); fixture.BranchTo("hotfix/1.3.1", "hotfix2"); fixture.Activate("hotfix/1.3.1"); fixture.MakeACommit(); fixture.MakeACommit(); fixture.AssertFullSemver("1.3.1-beta.1+3"); // Apply beta.1 tag should be exact tag fixture.ApplyTag("1.3.1-beta.1"); fixture.AssertFullSemver("1.3.1-beta.1"); fixture.Checkout("support/1.x"); fixture.MergeNoFF("hotfix/1.3.1"); fixture.Destroy("hotfix/1.3.1"); fixture.NoteOver("Hotfix branches are deleted once merged", "hotfix/1.3.1"); fixture.AssertFullSemver("1.3.1+4"); fixture.ApplyTag("1.3.1"); fixture.AssertFullSemver("1.3.1"); } }
public void GitFlowSupportMinorRelease() { using (var fixture = new EmptyRepositoryFixture()) { fixture.SequenceDiagram.Participant("develop"); fixture.SequenceDiagram.Participant("master"); fixture.Repository.MakeACommit(); fixture.ApplyTag("1.3.0"); // GitFlow setup fixture.Repository.MakeACommit(); fixture.BranchTo("develop"); fixture.SequenceDiagram.NoteOver("Create 2.0.0 release and complete", "develop", "master"); fixture.Checkout("master"); fixture.ApplyTag("2.0.0"); // Create hotfix branch fixture.Checkout("1.3.0"); fixture.BranchToFromTag("support/1.x", "1.3.0", "master", "support"); fixture.SequenceDiagram.NoteOver("Create 1.3.1 release and complete", "master", "support/1.x"); fixture.Repository.MakeACommit(); fixture.ApplyTag("1.3.1"); fixture.BranchTo("release/1.4.0", "supportRelease"); fixture.SequenceDiagram.Activate("release/1.4.0"); fixture.MakeACommit(); fixture.MakeACommit(); fixture.AssertFullSemver("1.4.0-beta.1+2"); // Apply beta.1 tag should be exact tag fixture.ApplyTag("1.4.0-beta.1"); fixture.AssertFullSemver("1.4.0-beta.1"); fixture.Checkout("support/1.x"); fixture.MergeNoFF("release/1.4.0"); fixture.SequenceDiagram.Destroy("release/1.4.0"); fixture.SequenceDiagram.NoteOver("Release branches are deleted once merged", "release/1.4.0"); fixture.AssertFullSemver("1.4.0+0"); fixture.ApplyTag("1.4.0"); fixture.AssertFullSemver("1.4.0"); } }