Skip to content

Commit 4b0dc11

Browse files
committed
Merge pull request #750 from JakeGinnivan/DoNotPickupMergeTargetInBranchName
Do not pick up version in merge target
2 parents ae1e843 + 35b35ed commit 4b0dc11

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public void ShouldNotAllowIncrementOfVersion()
4545
[TestCase("Merge branch 'Hotfix/10.10.50'", true, "10.10.50")]
4646
[TestCase("Merge branch 'hotfix-0.1.5'", true, "0.1.5")]
4747
[TestCase("Merge branch 'hotfix-4.2.2' into support-4.2", true, "4.2.2")]
48+
[TestCase("Merge branch 'somebranch' into release-3.0.0", true, null)]
4849
[TestCase("Merge branch 'hotfix-0.1.5'\n\nRelates to: TicketId", true, "0.1.5")]
4950
[TestCase("Merge branch 'alpha-0.1.5'", true, "0.1.5")]
5051
[TestCase("Merge pull request #165 from Particular/release-1.0.0", true, "1.0.0")]

src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace GitVersion.VersionCalculation.BaseVersionCalculators
22
{
3+
using System;
34
using System.Collections.Generic;
45
using System.Linq;
56
using System.Text.RegularExpressions;
@@ -41,8 +42,13 @@ private static SemanticVersion Inner(Commit mergeCommit, EffectiveConfiguration
4142
return null;
4243
}
4344

45+
var commitMessage = mergeCommit.Message;
46+
var lastIndexOf = commitMessage.LastIndexOf("into", StringComparison.OrdinalIgnoreCase);
47+
if (lastIndexOf != -1)
48+
commitMessage = commitMessage.Substring(0, lastIndexOf);
49+
4450
//TODO: Make the version prefixes customizable
45-
var possibleVersions = Regex.Matches(mergeCommit.Message, @"^.*?(([rR]elease|[hH]otfix|[aA]lpha)-|-v|/|/v|'|Finish )(?<PossibleVersions>(?<!://)\d+\.\d+(\.*\d+)*)")
51+
var possibleVersions = Regex.Matches(commitMessage, @"^.*?(([rR]elease|[hH]otfix|[aA]lpha)-|-v|/|/v|'|Finish )(?<PossibleVersions>(?<!://)\d+\.\d+(\.*\d+)*)")
4652
.Cast<Match>()
4753
.Select(m => m.Groups["PossibleVersions"].Value);
4854

0 commit comments

Comments
 (0)