diff --git a/GitVersionCore/MergeMessageParser.cs b/GitVersionCore/MergeMessageParser.cs index c3ff90b209..41e09e680e 100644 --- a/GitVersionCore/MergeMessageParser.cs +++ b/GitVersionCore/MergeMessageParser.cs @@ -63,6 +63,17 @@ static bool Inner(Commit mergeCommit, out string versionPart) return suffix.TryGetPrefix(out versionPart, "'"); } + if (message.StartsWith("Merge tag '")) + { + var suffix = message.Replace("Merge tag '", ""); + + if (suffix.Contains("-")) + { + suffix = suffix.Split('-')[1]; + } + return suffix.TryGetPrefix(out versionPart, "'"); + } + if (message.StartsWith("Merge pull request #")) { var split = message.Split(new[] diff --git a/GitVersionTask.Tests/MergeMessageParserTests.cs b/GitVersionTask.Tests/MergeMessageParserTests.cs index caf2de3210..cf3b191ef5 100644 --- a/GitVersionTask.Tests/MergeMessageParserTests.cs +++ b/GitVersionTask.Tests/MergeMessageParserTests.cs @@ -16,6 +16,7 @@ public class MergeMessageParserTests [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 tag '10.10.50'", true, "10.10.50")] [TestCase("Merge branch 'hotfix-0.1.5'", true, "0.1.5")] [TestCase("Merge branch 'hotfix-0.1.5'\n\nRelates to: TicketId", true, "0.1.5")] [TestCase("Merge branch 'alpha-0.1.5'", true, "0.1.5")]