Skip to content

Commit 2ad57ea

Browse files
committed
Revert "Fix GitVersion calculates the wrong version after main is merged back to develop."
This reverts commit a0c170b.
1 parent 2c35e7c commit 2ad57ea

File tree

2 files changed

+7
-67
lines changed

2 files changed

+7
-67
lines changed

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

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,57 +1218,4 @@ public void EnsurePreventIncrementWhenCurrentCommitTaggedOnReleaseBranchAndIncre
12181218

12191219
fixture.AssertFullSemver(semVersion, configuration);
12201220
}
1221-
1222-
[TestCase(false, "2.0.0-alpha.3")]
1223-
[TestCase(true, "2.0.0-alpha.2")]
1224-
public void EnsureVersionAfterMainIsMergedBackToDevelopIsCorrectForTrunkBased(bool applyTag, string semanticVersion)
1225-
{
1226-
var configuration = GitFlowConfigurationBuilder.New
1227-
.WithVersionStrategy(VersionStrategies.TrunkBased)
1228-
.Build();
1229-
1230-
using var fixture = new EmptyRepositoryFixture("main");
1231-
1232-
fixture.MakeACommit("A");
1233-
fixture.ApplyTag("1.0.0");
1234-
fixture.BranchTo("develop");
1235-
fixture.MakeACommit("B +semver: major");
1236-
1237-
// ✅ succeeds as expected
1238-
fixture.AssertFullSemver("2.0.0-alpha.1", configuration);
1239-
1240-
fixture.Checkout("main");
1241-
fixture.MakeACommit("C");
1242-
if (applyTag) fixture.ApplyTag("1.0.1");
1243-
fixture.Checkout("develop");
1244-
fixture.MergeNoFF("main");
1245-
1246-
// ✅ succeeds as expected
1247-
fixture.AssertFullSemver(semanticVersion, configuration);
1248-
}
1249-
1250-
[Test]
1251-
public void EnsureVersionAfterMainIsMergedBackToDevelopIsCorrectForGitFlow()
1252-
{
1253-
var configuration = GitFlowConfigurationBuilder.New.Build();
1254-
1255-
using var fixture = new EmptyRepositoryFixture("main");
1256-
1257-
fixture.MakeACommit("A");
1258-
fixture.ApplyTag("1.0.0");
1259-
fixture.BranchTo("develop");
1260-
fixture.MakeACommit("B +semver: major");
1261-
1262-
// ✅ succeeds as expected
1263-
fixture.AssertFullSemver("2.0.0-alpha.1", configuration);
1264-
1265-
fixture.Checkout("main");
1266-
fixture.MakeACommit("C");
1267-
fixture.ApplyTag("1.0.1");
1268-
fixture.Checkout("develop");
1269-
fixture.MergeNoFF("main");
1270-
1271-
// ✅ succeeds as expected
1272-
fixture.AssertFullSemver("2.0.0-alpha.3", configuration);
1273-
}
12741221
}

src/GitVersion.Core/VersionCalculation/IncrementStrategyFinder.cs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public VersionField DetermineIncrementedField(
4040
configuration.NotNull();
4141

4242
var commitMessageIncrement = FindCommitMessageIncrement(
43-
configuration, baseVersion, currentCommit, label);
43+
configuration, baseVersion.BaseVersionSource, currentCommit, label);
4444

4545
var defaultIncrement = configuration.Increment.ToVersionField();
4646

@@ -81,38 +81,31 @@ public VersionField DetermineIncrementedField(
8181
}
8282

8383
private VersionField? FindCommitMessageIncrement(
84-
EffectiveConfiguration configuration, BaseVersion baseVersion, ICommit? currentCommit, string? label)
84+
EffectiveConfiguration configuration, ICommit? baseCommit, ICommit? currentCommit, string? label)
8585
{
8686
if (configuration.CommitMessageIncrementing == CommitMessageIncrementMode.Disabled)
8787
{
8888
return null;
8989
}
9090

91-
var baseCommit = baseVersion.BaseVersionSource;
92-
9391
//get tags with valid version - depends on configuration (see #3757)
9492
var targetShas = new Lazy<IReadOnlySet<string>>(() =>
9593
this.taggedSemanticVersionRepository.GetTaggedSemanticVersions(configuration.TagPrefix, configuration.SemanticVersionFormat)
96-
.SelectMany(_ => _).Where(_ => _.Value.IsMatchForBranchSpecificLabel(label)).Select(_ => _.Tag.TargetSha).ToHashSet()
94+
.SelectMany(_ => _).Where(_ => _.Value.IsMatchForBranchSpecificLabel(label)).Select(_ => _.Tag.TargetSha).ToHashSet()
9795
);
9896

99-
var targetTags = this.taggedSemanticVersionRepository
100-
.GetTaggedSemanticVersions(configuration.TagPrefix, configuration.SemanticVersionFormat)
101-
.SelectMany(_ => _).Where(element => element.Value.IsMatchForBranchSpecificLabel(label)
102-
&& element.Value.CompareTo(baseVersion.GetSemanticVersion()) == 0).Select(_ => _.Tag.TargetSha).ToHashSet();
103-
104-
var intermediateCommits = GetIntermediateCommits(baseCommit, currentCommit);
97+
var commits = GetIntermediateCommits(baseCommit, currentCommit);
10598
// consider commit messages since latest tag only (see #3071)
106-
var commits = intermediateCommits
99+
commits = commits
107100
.Reverse()
108-
.TakeWhile(x => baseCommit != x)
109-
.Where(element => !targetShas.Value.Contains(element.Sha))
101+
.TakeWhile(x => !targetShas.Value.Contains(x.Sha))
110102
.Reverse();
111103

112104
if (configuration.CommitMessageIncrementing == CommitMessageIncrementMode.MergeMessageOnly)
113105
{
114106
commits = commits.Where(c => c.Parents.Count() > 1);
115107
}
108+
116109
return GetIncrementForCommits(
117110
majorVersionBumpMessage: configuration.MajorVersionBumpMessage,
118111
minorVersionBumpMessage: configuration.MinorVersionBumpMessage,

0 commit comments

Comments
 (0)