From 3517561cf95ea346659ed1324f7364e9d52cec97 Mon Sep 17 00:00:00 2001 From: czesiu Date: Wed, 19 Apr 2017 11:43:15 +0200 Subject: [PATCH] Added failing test when some branch created from release branch --- .../ReleaseBranchScenarios.cs | 51 ++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/GitVersionCore.Tests/IntegrationTests/ReleaseBranchScenarios.cs b/src/GitVersionCore.Tests/IntegrationTests/ReleaseBranchScenarios.cs index 7e1c9d4a3d..7527060c5f 100644 --- a/src/GitVersionCore.Tests/IntegrationTests/ReleaseBranchScenarios.cs +++ b/src/GitVersionCore.Tests/IntegrationTests/ReleaseBranchScenarios.cs @@ -421,7 +421,56 @@ public void CommitOnDevelop_AfterReleaseBranchMergeToDevelop_ShouldNotResetCount fixture.AssertFullSemver(config, "2.0.0-beta.5"); } } - + + [Test] + public void FeatureFromReleaseBranch_ShouldNotResetCount() + { + var config = new Config + { + VersioningMode = VersioningMode.ContinuousDeployment + }; + + using (var fixture = new EmptyRepositoryFixture()) + { + fixture.Repository.MakeACommit("initial"); + fixture.Repository.CreateBranch("develop"); + Commands.Checkout(fixture.Repository, "develop"); + fixture.Repository.CreateBranch("release-2.0.0"); + Commands.Checkout(fixture.Repository, "release-2.0.0"); + fixture.AssertFullSemver(config, "2.0.0-beta.0"); + + // Make some commits on release + fixture.Repository.MakeCommits(10); + fixture.AssertFullSemver(config, "2.0.0-beta.10"); + + // Create feature from release + fixture.Repository.CreateBranch("feature/xxx"); + fixture.Repository.MakeACommit("feature 1"); + fixture.Repository.MakeACommit("feature 2"); + + // Check version on release + Commands.Checkout(fixture.Repository, "release-2.0.0"); + fixture.AssertFullSemver(config, "2.0.0-beta.10"); + fixture.Repository.MakeACommit("release 11"); + fixture.AssertFullSemver(config, "2.0.0-beta.11"); + + // Make new commit on feature + Commands.Checkout(fixture.Repository, "feature/xxx"); + fixture.Repository.MakeACommit("feature 3"); + + // Checkout to release (no new commits) + Commands.Checkout(fixture.Repository, "release-2.0.0"); + fixture.AssertFullSemver(config, "2.0.0-beta.11"); + + // Merge feature to release + fixture.Repository.MergeNoFF("feature/xxx", Generate.SignatureNow()); + fixture.AssertFullSemver(config, "2.0.0-beta.12"); + + fixture.Repository.MakeACommit("release 13 - after feature merge"); + fixture.AssertFullSemver(config, "2.0.0-beta.13"); + } + } + public void ReleaseBranchShouldUseBranchNameVersionDespiteBumpInPreviousCommit() { using (var fixture = new EmptyRepositoryFixture())