diff --git a/GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs b/GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs index 442306e4ef..3ec927236d 100644 --- a/GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs +++ b/GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs @@ -35,8 +35,12 @@ public void ShouldNotAllowIncrementOfVersion() [TestCase("Merge branch 'release-10.10.50'", true, "10.10.50")] [TestCase("Merge branch 's'", true, null)] // Must start with a number [TestCase("Merge branch 'release-0.2.0'", true, "0.2.0")] + [TestCase("Merge branch 'Release-0.2.0'", true, "0.2.0")] + [TestCase("Merge branch 'Release/0.2.0'", true, "0.2.0")] [TestCase("Merge branch 'hotfix-4.6.6' into support-4.6", true, "4.6.6")] [TestCase("Merge branch 'hotfix-10.10.50'", true, "10.10.50")] + [TestCase("Merge branch 'Hotfix-10.10.50'", true, "10.10.50")] + [TestCase("Merge branch 'Hotfix/10.10.50'", true, "10.10.50")] [TestCase("Merge branch 'hotfix-0.1.5'", true, "0.1.5")] [TestCase("Merge branch 'hotfix-4.2.2' into support-4.2", true, "4.2.2")] [TestCase("Merge branch 'hotfix-0.1.5'\n\nRelates to: TicketId", true, "0.1.5")] diff --git a/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs b/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs index 1d8f500b1d..05a30725ec 100644 --- a/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs +++ b/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs @@ -50,31 +50,17 @@ static bool Inner(Commit mergeCommit, out string versionPart) var message = mergeCommit.Message.TrimToFirstLine(); + var knownMergePrefixes = new[] { "Merge branch 'hotfix-", "Merge branch 'hotfix/", "Merge branch 'release-", "Merge branch 'release/" }; - if (message.StartsWith("Merge branch 'hotfix-")) + foreach (var prefix in knownMergePrefixes) { - var suffix = message.Replace("Merge branch 'hotfix-", ""); - return TryGetPrefix(suffix, out versionPart, "'"); - } - - if (message.StartsWith("Merge branch 'hotfix/")) - { - var suffix = message.Replace("Merge branch 'hotfix/", ""); - return TryGetPrefix(suffix, out versionPart, "'"); - } - - if (message.StartsWith("Merge branch 'release-")) - { - var suffix = message.Replace("Merge branch 'release-", ""); - return TryGetPrefix(suffix, out versionPart, "'"); - } - - if (message.StartsWith("Merge branch 'release/")) - { - var suffix = message.Replace("Merge branch 'release/", ""); - return TryGetPrefix(suffix, out versionPart, "'"); + if (message.StartsWith(prefix)) + { + var suffix = message.Substring(prefix.Length); + return TryGetPrefix(suffix, out versionPart, "'"); + } } - + if (message.StartsWith("Merge branch '")) { var suffix = message.Replace("Merge branch '", "");