From 3a6b12348aeac7b5ae459e83b71e6d1e74ea23c2 Mon Sep 17 00:00:00 2001 From: Enrique Raso Date: Thu, 6 Oct 2022 12:50:19 +0200 Subject: [PATCH] Add unit tests in SupportBranchScenarios --- .../SupportBranchScenarios.cs | 27 +++++++++++++++++++ .../NextVersionCalculator.cs | 6 +++++ 2 files changed, 33 insertions(+) diff --git a/src/GitVersion.Core.Tests/IntegrationTests/SupportBranchScenarios.cs b/src/GitVersion.Core.Tests/IntegrationTests/SupportBranchScenarios.cs index 351101afec..d0706e436b 100644 --- a/src/GitVersion.Core.Tests/IntegrationTests/SupportBranchScenarios.cs +++ b/src/GitVersion.Core.Tests/IntegrationTests/SupportBranchScenarios.cs @@ -71,4 +71,31 @@ public void WhenSupportIsBranchedAndTaggedFromAnotherSupportEnsureNewMinorIsUsed fixture.AssertFullSemver("1.3.1+2"); } + + [Test] + public void WhenSupportIsBranchedFromMainWithSpecificTag() + { + using var fixture = new EmptyRepositoryFixture(); + fixture.Repository.MakeACommit(); + fixture.AssertFullSemver("0.1.0+0"); + + fixture.Repository.ApplyTag("1.4.0-rc"); + fixture.Repository.MakeACommit(); + fixture.Repository.CreateBranch("support/1"); + Commands.Checkout(fixture.Repository, "support/1"); + fixture.AssertFullSemver("1.4.0+1"); + } + + [Test] + public void WhenSupportIsBranchedFromMainWithSpecificTagOnCommit() + { + using var fixture = new EmptyRepositoryFixture(); + fixture.Repository.MakeACommit(); + fixture.AssertFullSemver("0.1.0+0"); + + fixture.Repository.ApplyTag("1.4.0-rc"); + fixture.Repository.CreateBranch("support/1"); + Commands.Checkout(fixture.Repository, "support/1"); + fixture.AssertFullSemver("1.4.0"); + } } diff --git a/src/GitVersion.Core/VersionCalculation/NextVersionCalculator.cs b/src/GitVersion.Core/VersionCalculation/NextVersionCalculator.cs index 32320acc8d..7103ef1c08 100644 --- a/src/GitVersion.Core/VersionCalculation/NextVersionCalculator.cs +++ b/src/GitVersion.Core/VersionCalculation/NextVersionCalculator.cs @@ -97,6 +97,12 @@ public NextVersion FindVersion() { // set the commit count on the tagged ver taggedSemanticVersion.BuildMetaData.CommitsSinceVersionSource = semver.BuildMetaData?.CommitsSinceVersionSource; + + // set the updated prerelease tag when it doesn't match with prerelease tag defined in branch configuration + if (preReleaseTagDoesNotMatchConfiguration) + { + taggedSemanticVersion.PreReleaseTag = semver.PreReleaseTag; + } } }