Skip to content

Commit 50c00ac

Browse files
committed
Remove MainlineVersionCalculator and everything related to Mainline. Fix unit test and uses the TrunkBased workflow implementation.
1 parent d98bcd1 commit 50c00ac

20 files changed

+171
-538
lines changed

src/GitVersion.Configuration/ConfigurationFileLocator.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ bool HasConfigurationFileAt(string fileName, out string? configFile)
6666

6767
private static void VerifyReadConfig(IGitVersionConfiguration configuration)
6868
{
69-
// Verify no branches are set to mainline mode
70-
if (configuration.Branches.Any(b => b.Value.VersioningMode == VersioningMode.Mainline))
69+
// Verify no branches are set to TrunkBased mode
70+
if (configuration.Branches.Any(b => b.Value.VersioningMode == VersioningMode.TrunkBased))
7171
{
72-
throw new ConfigurationException(@"Mainline mode only works at the repository level, a single branch cannot be put into mainline mode
72+
throw new ConfigurationException(@"TrunkBased mode only works at the repository level, a single branch cannot be put into TrunkBased mode
7373
74-
This is because mainline mode treats your entire git repository as an event source with each merge into the 'mainline' incrementing the version.
74+
This is because TrunkBased mode treats your entire git repository as an event source with each merge into the 'TrunkBased' incrementing the version.
7575
7676
If the docs do not help you decide on the mode open an issue to discuss what you are trying to do.");
7777
}

src/GitVersion.Configuration/GitFlowConfigurationBuilder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ private GitFlowConfigurationBuilder()
2222
VersionInBranchPattern = ConfigurationConstants.DefaultVersionInBranchPattern,
2323
TagPreReleaseWeight = ConfigurationConstants.DefaultTagPreReleaseWeight,
2424
UpdateBuildNumber = ConfigurationConstants.DefaultUpdateBuildNumber,
25-
VersioningMode = VersioningMode.ContinuousDeployment,
25+
VersioningMode = VersioningMode.ContinuousDelivery,
2626
RegularExpression = string.Empty,
2727
Label = ConfigurationConstants.BranchNamePlaceholder,
2828
Increment = IncrementStrategy.Inherit,
@@ -70,8 +70,8 @@ private GitFlowConfigurationBuilder()
7070
WithBranch(ReleaseBranch.Name).WithConfiguration(new BranchConfiguration
7171
{
7272
Increment = IncrementStrategy.None,
73+
VersioningMode = VersioningMode.ManualDeployment,
7374
RegularExpression = ReleaseBranch.RegexPattern,
74-
VersioningMode = VersioningMode.ContinuousDelivery,
7575
SourceBranches =
7676
[
7777
this.DevelopBranch.Name,
@@ -92,7 +92,7 @@ private GitFlowConfigurationBuilder()
9292
{
9393
Increment = IncrementStrategy.Inherit,
9494
RegularExpression = FeatureBranch.RegexPattern,
95-
VersioningMode = VersioningMode.ContinuousDelivery,
95+
VersioningMode = VersioningMode.ManualDeployment,
9696
SourceBranches =
9797
[
9898
this.DevelopBranch.Name,
@@ -110,7 +110,7 @@ private GitFlowConfigurationBuilder()
110110
{
111111
Increment = IncrementStrategy.Inherit,
112112
RegularExpression = PullRequestBranch.RegexPattern,
113-
VersioningMode = VersioningMode.ContinuousDeployment,
113+
VersioningMode = VersioningMode.ContinuousDelivery,
114114
SourceBranches =
115115
[
116116
this.DevelopBranch.Name,
@@ -129,7 +129,7 @@ private GitFlowConfigurationBuilder()
129129
{
130130
Increment = IncrementStrategy.Inherit,
131131
RegularExpression = HotfixBranch.RegexPattern,
132-
VersioningMode = VersioningMode.ContinuousDelivery,
132+
VersioningMode = VersioningMode.ManualDeployment,
133133
SourceBranches =
134134
[
135135
this.ReleaseBranch.Name,
@@ -160,7 +160,7 @@ private GitFlowConfigurationBuilder()
160160
{
161161
RegularExpression = UnknownBranch.RegexPattern,
162162
Label = ConfigurationConstants.BranchNamePlaceholder,
163-
VersioningMode = VersioningMode.ContinuousDelivery,
163+
VersioningMode = VersioningMode.ManualDeployment,
164164
Increment = IncrementStrategy.Inherit,
165165
SourceBranches =
166166
[

src/GitVersion.Configuration/GitHubFlowConfigurationBuilder.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ private GitHubFlowConfigurationBuilder()
2222
VersionInBranchPattern = ConfigurationConstants.DefaultVersionInBranchPattern,
2323
TagPreReleaseWeight = ConfigurationConstants.DefaultTagPreReleaseWeight,
2424
UpdateBuildNumber = ConfigurationConstants.DefaultUpdateBuildNumber,
25-
VersioningMode = VersioningMode.ContinuousDeployment,
25+
VersioningMode = VersioningMode.ContinuousDelivery,
2626
RegularExpression = string.Empty,
2727
Label = ConfigurationConstants.BranchNamePlaceholder,
2828
Increment = IncrementStrategy.Inherit,
@@ -53,7 +53,7 @@ private GitHubFlowConfigurationBuilder()
5353
{
5454
Increment = IncrementStrategy.None,
5555
RegularExpression = ReleaseBranch.RegexPattern,
56-
VersioningMode = VersioningMode.ContinuousDelivery,
56+
VersioningMode = VersioningMode.ManualDeployment,
5757
SourceBranches =
5858
[
5959
this.MainBranch.Name,
@@ -72,7 +72,7 @@ private GitHubFlowConfigurationBuilder()
7272
{
7373
Increment = IncrementStrategy.Inherit,
7474
RegularExpression = FeatureBranch.RegexPattern,
75-
VersioningMode = VersioningMode.ContinuousDelivery,
75+
VersioningMode = VersioningMode.ManualDeployment,
7676
SourceBranches =
7777
[
7878
this.MainBranch.Name,
@@ -87,7 +87,7 @@ private GitHubFlowConfigurationBuilder()
8787
{
8888
Increment = IncrementStrategy.Inherit,
8989
RegularExpression = PullRequestBranch.RegexPattern,
90-
VersioningMode = VersioningMode.ContinuousDeployment,
90+
VersioningMode = VersioningMode.ContinuousDelivery,
9191
SourceBranches =
9292
[
9393
this.MainBranch.Name,
@@ -103,7 +103,7 @@ private GitHubFlowConfigurationBuilder()
103103
{
104104
RegularExpression = UnknownBranch.RegexPattern,
105105
Label = ConfigurationConstants.BranchNamePlaceholder,
106-
VersioningMode = VersioningMode.ContinuousDelivery,
106+
VersioningMode = VersioningMode.ManualDeployment,
107107
Increment = IncrementStrategy.Inherit,
108108
SourceBranches =
109109
[

src/GitVersion.Configuration/Init/SetConfig/GlobalModeSetting.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public GlobalModeSetting WithData(ConfigInitWizardStep returnStep, bool isPartOf
1717
return this;
1818
}
1919

20-
protected override StepResult HandleResult(string? result, Queue<ConfigInitWizardStep> steps, ConfigurationBuilder configurationBuilder, string workingDirectory)
20+
protected override StepResult HandleResult(
21+
string? result, Queue<ConfigInitWizardStep> steps, ConfigurationBuilder configurationBuilder, string workingDirectory)
2122
{
2223
switch (result)
2324
{
@@ -30,7 +31,7 @@ protected override StepResult HandleResult(string? result, Queue<ConfigInitWizar
3031
steps.Enqueue(this.returnToStep);
3132
return StepResult.Ok();
3233
case "3":
33-
configurationBuilder.WithVersioningMode(VersioningMode.Mainline);
34+
configurationBuilder.WithVersioningMode(VersioningMode.TrunkBased);
3435
steps.Enqueue(this.returnToStep);
3536
return StepResult.Ok();
3637
case "0":

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

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,35 +12,35 @@ namespace GitVersion.Core.Tests.IntegrationTests;
1212
internal class ComparingTheBehaviorOfDifferentVersioningModes
1313
{
1414
private static readonly GitHubFlowConfigurationBuilder configurationBuilder = GitHubFlowConfigurationBuilder.New
15-
.WithLabel(null).WithIsMainline(null)
15+
.WithLabel(null)
1616
.WithBranch("main", _ => _
17-
.WithIncrement(IncrementStrategy.Patch).WithVersioningMode(null).WithLabel(null)
17+
.WithIncrement(IncrementStrategy.Patch).WithLabel(null)
1818
).WithBranch("feature", _ => _
19-
.WithIncrement(IncrementStrategy.Inherit).WithVersioningMode(null).WithLabel("{BranchName}")
19+
.WithIncrement(IncrementStrategy.Inherit).WithLabel("{BranchName}")
2020
);
2121

2222
private static readonly IGitVersionConfiguration trunkBased = configurationBuilder
23-
.WithVersioningMode(VersioningMode.Mainline).WithIsMainline(true)
24-
.WithBranch("main", _ => _.WithIsMainline(true))
25-
.WithBranch("feature", _ => _.WithIsMainline(true))
23+
.WithVersioningMode(VersioningMode.TrunkBased)
24+
.WithBranch("main", _ => _.WithIsMainline(true).WithVersioningMode(VersioningMode.ContinuousDeployment))
25+
.WithBranch("feature", _ => _.WithIsMainline(false).WithVersioningMode(VersioningMode.ContinuousDelivery))
2626
.Build();
2727

2828
private static readonly IGitVersionConfiguration continuousDeployment = configurationBuilder
29-
.WithVersioningMode(VersioningMode.ContinuousDeployment).WithIsMainline(true)
30-
.WithBranch("main", _ => _.WithIsMainline(true))
31-
.WithBranch("feature", _ => _.WithIsMainline(true))
29+
.WithVersioningMode(VersioningMode.ContinuousDeployment)
30+
.WithBranch("main", _ => _.WithIsMainline(true).WithVersioningMode(VersioningMode.ContinuousDeployment))
31+
.WithBranch("feature", _ => _.WithIsMainline(false).WithVersioningMode(VersioningMode.ContinuousDeployment))
3232
.Build();
3333

3434
private static readonly IGitVersionConfiguration continuousDelivery = configurationBuilder
35-
.WithVersioningMode(VersioningMode.ContinuousDeployment).WithIsMainline(false)
36-
.WithBranch("main", _ => _.WithIsMainline(false))
37-
.WithBranch("feature", _ => _.WithIsMainline(false))
35+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
36+
.WithBranch("main", _ => _.WithIsMainline(true).WithVersioningMode(VersioningMode.ContinuousDelivery))
37+
.WithBranch("feature", _ => _.WithIsMainline(false).WithVersioningMode(VersioningMode.ContinuousDelivery))
3838
.Build();
3939

4040
private static readonly IGitVersionConfiguration manualDeployment = configurationBuilder
41-
.WithVersioningMode(VersioningMode.ContinuousDelivery).WithIsMainline(false)
42-
.WithBranch("main", _ => _.WithIsMainline(false))
43-
.WithBranch("feature", _ => _.WithIsMainline(false))
41+
.WithVersioningMode(VersioningMode.ManualDeployment)
42+
.WithBranch("main", _ => _.WithIsMainline(true).WithVersioningMode(VersioningMode.ManualDeployment))
43+
.WithBranch("feature", _ => _.WithIsMainline(false).WithVersioningMode(VersioningMode.ManualDeployment))
4444
.Build();
4545

4646
[Test]
@@ -285,7 +285,7 @@ public void MergeFeatureToMainWithMinorMinorSemversionIncrement()
285285
fixture.MakeACommit("+semver: minor");
286286

287287
// ✅ succeeds as expected
288-
fixture.AssertFullSemver("0.2.0-test.2", trunkBased);
288+
fixture.AssertFullSemver("0.1.0-test.2", trunkBased);
289289
//fixture.AssertFullSemver("?", continuousDeployment);
290290
fixture.AssertFullSemver("0.1.0-test.2", continuousDelivery);
291291
fixture.AssertFullSemver("0.1.0-test.1+2", manualDeployment);
@@ -319,7 +319,7 @@ public void MergeFeatureToMainWithMajorMinorSemversionIncrement()
319319
fixture.MakeACommit("+semver: minor");
320320

321321
// ✅ succeeds as expected
322-
fixture.AssertFullSemver("1.1.0-test.2", trunkBased);
322+
fixture.AssertFullSemver("1.0.0-test.2", trunkBased);
323323
//fixture.AssertFullSemver("?", continuousDeployment);
324324
fixture.AssertFullSemver("1.0.0-test.2", continuousDelivery);
325325
fixture.AssertFullSemver("1.0.0-test.1+2", manualDeployment);

src/GitVersion.Core.Tests/IntegrationTests/ContinuousDeploymentTestScenarios.cs renamed to src/GitVersion.Core.Tests/IntegrationTests/ContinuousDeliveryTestScenarios.cs

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44
namespace GitVersion.Core.Tests.IntegrationTests;
55

66
[TestFixture]
7-
public class ContinuousDeploymentTestScenarios
7+
public class ContinuousDeliveryTestScenarios
88
{
99
[Test]
1010
public void ShouldUseTheFallbackVersionOnMainWhenNoVersionsAreAvailable()
1111
{
1212
// * 2373a87 58 minutes ago (HEAD -> main)
1313

1414
var configuration = GitFlowConfigurationBuilder.New
15-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
15+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
1616
.WithBranch("main", builder => builder
1717
.WithLabel("ci")
18-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
18+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
1919
)
2020
.Build();
2121

@@ -35,7 +35,7 @@ public void ShouldUseTheFallbackVersionOnDevelopWhenNoVersionsAreAvailable()
3535
// * a831d61 58 minutes ago (HEAD -> develop)
3636

3737
var configuration = GitFlowConfigurationBuilder.New
38-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
38+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
3939
.Build();
4040

4141
using var fixture = new EmptyRepositoryFixture("develop");
@@ -55,10 +55,10 @@ public void ShouldUseConfiguredNextVersionOnMainWhenNoHigherVersionsAvailable()
5555

5656
var configuration = GitFlowConfigurationBuilder.New
5757
.WithNextVersion("1.0.0")
58-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
58+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
5959
.WithBranch("main", builder => builder
6060
.WithLabel("ci")
61-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
61+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
6262
)
6363
.Build();
6464

@@ -79,7 +79,7 @@ public void ShouldNotMatterWhenConfiguredNextVersionIsEqualsToTheTaggeVersion()
7979

8080
var configuration = GitFlowConfigurationBuilder.New
8181
.WithNextVersion("1.0.0")
82-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
82+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
8383
.Build();
8484

8585
using var fixture = new EmptyRepositoryFixture();
@@ -98,7 +98,7 @@ public void ShouldUseTaggedVersionWhenGreaterThanConfiguredNextVersion()
9898
// * ba74727 58 minutes ago (HEAD -> main, tag: 1.1.0)
9999

100100
var configuration = GitFlowConfigurationBuilder.New
101-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
101+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
102102
.WithNextVersion("1.0.0").Build();
103103

104104
using var fixture = new EmptyRepositoryFixture();
@@ -121,12 +121,12 @@ public void ShouldCalculateTheCorrectVersionWhenMergingFromMainToFeatureBranch()
121121
// *ec77f9c 58 minutes ago
122122

123123
var configuration = GitFlowConfigurationBuilder.New
124-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
124+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
125125
.WithBranch("main", builder => builder
126126
.WithLabel("ci")
127-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
127+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
128128
)
129-
.WithBranch("feature", builder => builder.WithVersioningMode(VersioningMode.ContinuousDeployment))
129+
.WithBranch("feature", builder => builder.WithVersioningMode(VersioningMode.ContinuousDelivery))
130130
.Build();
131131

132132
using var fixture = new EmptyRepositoryFixture();
@@ -174,9 +174,9 @@ public void ShouldCalculateTheCorrectVersionWhenMergingFromDevelopToFeatureBranc
174174
// *67acc03 58 minutes ago(main)
175175

176176
var configuration = GitFlowConfigurationBuilder.New
177-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
178-
.WithBranch("develop", builder => builder.WithVersioningMode(VersioningMode.ContinuousDeployment))
179-
.WithBranch("feature", builder => builder.WithVersioningMode(VersioningMode.ContinuousDeployment))
177+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
178+
.WithBranch("develop", builder => builder.WithVersioningMode(VersioningMode.ContinuousDelivery))
179+
.WithBranch("feature", builder => builder.WithVersioningMode(VersioningMode.ContinuousDelivery))
180180
.Build();
181181

182182
using var fixture = new EmptyRepositoryFixture();
@@ -226,10 +226,10 @@ public void ShouldCalculateTheCorrectVersionWhenMergingFromReleaseToFeatureBranc
226226
// *f63a536 58 minutes ago(main)
227227

228228
var configuration = GitFlowConfigurationBuilder.New
229-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
230-
.WithBranch("main", builder => builder.WithVersioningMode(VersioningMode.ContinuousDeployment))
231-
.WithBranch("release", builder => builder.WithVersioningMode(VersioningMode.ContinuousDeployment))
232-
.WithBranch("feature", builder => builder.WithVersioningMode(VersioningMode.ContinuousDeployment))
229+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
230+
.WithBranch("main", builder => builder.WithVersioningMode(VersioningMode.ContinuousDelivery))
231+
.WithBranch("release", builder => builder.WithVersioningMode(VersioningMode.ContinuousDelivery))
232+
.WithBranch("feature", builder => builder.WithVersioningMode(VersioningMode.ContinuousDelivery))
233233
.Build();
234234

235235
using var fixture = new EmptyRepositoryFixture();
@@ -283,14 +283,14 @@ public void ShouldFallbackToTheVersionOnDevelopLikeTheReleaseWasNeverCreatedWhen
283283
var configuration = GitFlowConfigurationBuilder.New
284284
.WithBranch("main", builder => builder
285285
.WithLabel("ci")
286-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
286+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
287287
.WithTrackMergeTarget(false)
288288
)
289289
.WithBranch("develop", builder => builder
290-
.WithVersioningMode(VersioningMode.ContinuousDeployment).WithTrackMergeTarget(false)
290+
.WithVersioningMode(VersioningMode.ContinuousDelivery).WithTrackMergeTarget(false)
291291
)
292292
.WithBranch("release", builder => builder
293-
.WithVersioningMode(VersioningMode.ContinuousDeployment).WithTrackMergeTarget(false)
293+
.WithVersioningMode(VersioningMode.ContinuousDelivery).WithTrackMergeTarget(false)
294294
)
295295
.Build();
296296

@@ -369,15 +369,15 @@ public void ShouldConsiderTheMergeCommitFromMainToDevelopWhenReleaseHasBeenMerge
369369
var configuration = GitFlowConfigurationBuilder.New
370370
.WithBranch("main", builder => builder
371371
.WithLabel("ci")
372-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
372+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
373373
.WithTrackMergeTarget(false)
374374
)
375375
.WithBranch("develop", builder => builder
376-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
376+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
377377
.WithTrackMergeTarget(false)
378378
)
379379
.WithBranch("release", builder => builder
380-
.WithVersioningMode(VersioningMode.ContinuousDeployment)
380+
.WithVersioningMode(VersioningMode.ContinuousDelivery)
381381
.WithTrackMergeTarget(false)
382382
)
383383
.Build();

0 commit comments

Comments
 (0)