diff --git a/src/GitVersionCore.Tests/IntegrationTests/MainlineDevelopmentMode.cs b/src/GitVersionCore.Tests/IntegrationTests/MainlineDevelopmentMode.cs index 28daf7d29b..220206c322 100644 --- a/src/GitVersionCore.Tests/IntegrationTests/MainlineDevelopmentMode.cs +++ b/src/GitVersionCore.Tests/IntegrationTests/MainlineDevelopmentMode.cs @@ -20,6 +20,24 @@ public class MainlineDevelopmentMode : TestBase VersioningMode = VersioningMode.Mainline }; + [Test] + public void VerifyNonMasterMainlineVersionIdenticalAsMaster() + { + using var fixture = new EmptyRepositoryFixture(); + fixture.Repository.MakeACommit("1"); + + fixture.BranchTo("feature/foo", "foo"); + fixture.MakeACommit("2 +semver: major"); + fixture.Checkout("master"); + fixture.MergeNoFF("feature/foo"); + + fixture.AssertFullSemver("1.0.0", config); + + fixture.BranchTo("support/1.0", "support"); + + fixture.AssertFullSemver("1.0.0", config); + } + [Test] public void MergedFeatureBranchesToMasterImpliesRelease() { @@ -117,7 +135,7 @@ public void SupportBranches() fixture.AssertFullSemver("1.0.2", config); fixture.BranchTo("support/1.0", "support10"); - fixture.AssertFullSemver("1.0.3", config); + fixture.AssertFullSemver("1.0.2", config); // Move master on fixture.Checkout("master"); @@ -126,9 +144,9 @@ public void SupportBranches() // Continue on support/1.0 fixture.Checkout("support/1.0"); + fixture.MakeACommit(); // 1.0.3 fixture.MakeACommit(); // 1.0.4 - fixture.MakeACommit(); // 1.0.5 - fixture.AssertFullSemver("1.0.5", config); + fixture.AssertFullSemver("1.0.4", config); fixture.BranchTo("feature/foo", "foo"); fixture.AssertFullSemver("1.0.5-foo.0", config); fixture.MakeACommit(); @@ -185,7 +203,7 @@ public void VerifySupportForwardMerge() fixture.MakeACommit(); fixture.AssertFullSemver("1.1.2", config); fixture.Checkout("support/1.0"); - fixture.AssertFullSemver("1.0.4", config); + fixture.AssertFullSemver("1.0.3", config); fixture.BranchTo("feature/foo", "foo"); fixture.MakeACommit(); diff --git a/src/GitVersionCore/VersionCalculation/MainlineVersionCalculator.cs b/src/GitVersionCore/VersionCalculation/MainlineVersionCalculator.cs index 4d97809a05..e094810504 100644 --- a/src/GitVersionCore/VersionCalculation/MainlineVersionCalculator.cs +++ b/src/GitVersionCore/VersionCalculation/MainlineVersionCalculator.cs @@ -69,7 +69,7 @@ public SemanticVersion FindMainlineModeVersion(BaseVersion baseVersion) mainlineVersion.BuildMetaData = CreateVersionBuildMetaData(mergeBase); // branches other than master always get a bump for the act of branching - if (context.CurrentBranch.FriendlyName != "master") + if (!context.CurrentBranch.IsSameBranch(mainline)) { var branchIncrement = FindMessageIncrement(null, context.CurrentCommit, mergeBase, mainlineCommitLog); log.Info($"Performing {branchIncrement} increment for current branch ");