Skip to content

Commit 00dcc8d

Browse files
authored
Merge pull request #3078 from patrikbeno/support/5.x
fix #3071 consider commit messages since latest tag only
2 parents 26ee631 + 0d42dac commit 00dcc8d

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/GitVersion.Core.Tests/IntegrationTests/VersionBumpingScenarios.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using GitVersion.Core.Tests.Helpers;
33
using GitVersion.Model.Configuration;
44
using GitVersion.VersionCalculation;
5+
using LibGit2Sharp;
56
using NUnit.Framework;
67

78
namespace GitVersion.Core.Tests.IntegrationTests;
@@ -48,6 +49,23 @@ public void CanUseCommitMessagesToBumpVersion()
4849
fixture.AssertFullSemver("2.0.0+2");
4950
}
5051

52+
[Test]
53+
public void CanUseCommitMessagesToBumpVersion_TagTakesPriority()
54+
{
55+
using var fixture = new EmptyRepositoryFixture();
56+
var repo = fixture.Repository;
57+
58+
repo.MakeATaggedCommit("1.0.0");
59+
repo.MakeACommit("+semver:major");
60+
fixture.AssertFullSemver("2.0.0+1");
61+
62+
repo.ApplyTag("1.1.0");
63+
fixture.AssertFullSemver("1.1.0");
64+
65+
repo.MakeACommit();
66+
fixture.AssertFullSemver("1.1.1+1");
67+
}
68+
5169
[Theory]
5270
[TestCase("build: Cleaned up various things", "1.0.1")]
5371
[TestCase("build: Cleaned up various things\n\nSome descriptive text", "1.0.1")]

src/GitVersion.Core/VersionCalculation/IncrementStrategyFinder.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,13 @@ public class IncrementStrategyFinder : IIncrementStrategyFinder
7777

7878
var commits = GetIntermediateCommits(repository, baseCommit, context.CurrentCommit);
7979

80+
// consider commit messages since latest tag only (see #3071)
81+
var tags = new HashSet<string?>(repository.Tags.Select(t => t.TargetSha));
82+
commits = commits
83+
.Reverse()
84+
.TakeWhile(x => !tags.Contains(x.Sha))
85+
.Reverse();
86+
8087
if (context.Configuration.CommitMessageIncrementing == CommitMessageIncrementMode.MergeMessageOnly)
8188
{
8289
commits = commits.Where(c => c.Parents.Count() > 1);

0 commit comments

Comments
 (0)