Skip to content

Commit 49eee78

Browse files
committed
Rename prevent-increment-when-tagged to prevent-increment-when-current-commit-tagged and update documentation.
1 parent b8ae39d commit 49eee78

38 files changed

+162
-212
lines changed

BREAKING_CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
* VersionInBranchName
4747
* TrunkBased
4848
* The initialization wizard has been removed.
49+
* On the `develop`, `release` and `hotfix` branch the introduced branch related property `prevent-increment-when-current-commit-tagged` has been set to `false` to get the incremented instead of the tagged semantic version.
4950
5051
## v5.0.0
5152

docs/input/docs/reference/configuration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -805,9 +805,9 @@ In a GitFlow-based repository, setting this option can have implications on the
805805
better version source proposed by the `MergeMessageBaseVersionStrategy`. For
806806
more details and an in-depth analysis, please see [the discussion][2506].
807807

808-
### prevent-increment-when-tagged
808+
### prevent-increment-when-current-commit-tagged
809809

810-
This branch related property can be used to control the behavior whether to take the incremented or the current tagged version.
810+
This branch related property controls the behvior whether to use the tagged (value set to true) or the incremented (value set to false) semantic version. Defaults to true.
811811

812812
### label-number-pattern
813813

src/GitVersion.App.Tests/ArgumentParserTests.cs

Lines changed: 30 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -407,129 +407,76 @@ private static IEnumerable<TestCaseData> OverrideConfigWithSingleOptionTestData(
407407
{
408408
yield return new TestCaseData(
409409
"assembly-versioning-scheme=MajorMinor",
410-
new GitVersionConfiguration
411-
{
412-
AssemblyVersioningScheme = AssemblyVersioningScheme.MajorMinor
413-
}
410+
EmptyConfigurationBuilder.New.WithAssemblyVersioningScheme(AssemblyVersioningScheme.MajorMinor).Build()
414411
);
415412
yield return new TestCaseData(
416413
"assembly-file-versioning-scheme=\"MajorMinorPatch\"",
417-
new GitVersionConfiguration
418-
{
419-
AssemblyFileVersioningScheme = AssemblyFileVersioningScheme.MajorMinorPatch
420-
}
414+
EmptyConfigurationBuilder.New.WithAssemblyFileVersioningScheme(AssemblyFileVersioningScheme.MajorMinor).Build()
415+
421416
);
422417
yield return new TestCaseData(
423418
"assembly-informational-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\"",
424-
new GitVersionConfiguration
425-
{
426-
AssemblyInformationalFormat = "{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}"
427-
}
419+
EmptyConfigurationBuilder.New.WithAssemblyInformationalFormat("{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}").Build()
428420
);
429421
yield return new TestCaseData(
430422
"assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\"",
431-
new GitVersionConfiguration
432-
{
433-
AssemblyVersioningFormat = "{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}"
434-
}
423+
EmptyConfigurationBuilder.New.WithAssemblyVersioningFormat("{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}").Build()
435424
);
436425
yield return new TestCaseData(
437426
"assembly-file-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\"",
438-
new GitVersionConfiguration
439-
{
440-
AssemblyFileVersioningFormat = "{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}"
441-
}
427+
EmptyConfigurationBuilder.New.WithAssemblyFileVersioningFormat("{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}").Build()
442428
);
443429
yield return new TestCaseData(
444430
"mode=ContinuousDelivery",
445-
new GitVersionConfiguration
446-
{
447-
DeploymentMode = DeploymentMode.ContinuousDelivery
448-
}
431+
EmptyConfigurationBuilder.New.WithDeploymentMode(DeploymentMode.ContinuousDelivery).Build()
449432
);
450433
yield return new TestCaseData(
451434
"tag-prefix=sample",
452-
new GitVersionConfiguration
453-
{
454-
TagPrefix = "sample"
455-
}
435+
EmptyConfigurationBuilder.New.WithTagPrefix("sample").Build()
456436
);
457437
yield return new TestCaseData(
458438
"label=cd-label",
459-
new GitVersionConfiguration
460-
{
461-
Label = "cd-label"
462-
}
439+
EmptyConfigurationBuilder.New.WithLabel("cd-label").Build()
463440
);
464441
yield return new TestCaseData(
465442
"next-version=1",
466-
new GitVersionConfiguration
467-
{
468-
NextVersion = "1"
469-
}
443+
EmptyConfigurationBuilder.New.WithNextVersion("1").Build()
470444
);
471445
yield return new TestCaseData(
472446
"major-version-bump-message=\"This is major version bump message.\"",
473-
new GitVersionConfiguration
474-
{
475-
MajorVersionBumpMessage = "This is major version bump message."
476-
}
447+
EmptyConfigurationBuilder.New.WithMajorVersionBumpMessage("This is major version bump message.").Build()
477448
);
478449
yield return new TestCaseData(
479450
"minor-version-bump-message=\"This is minor version bump message.\"",
480-
new GitVersionConfiguration
481-
{
482-
MinorVersionBumpMessage = "This is minor version bump message."
483-
}
451+
EmptyConfigurationBuilder.New.WithMinorVersionBumpMessage("This is minor version bump message.").Build()
484452
);
485453
yield return new TestCaseData(
486454
"patch-version-bump-message=\"This is patch version bump message.\"",
487-
new GitVersionConfiguration
488-
{
489-
PatchVersionBumpMessage = "This is patch version bump message."
490-
}
455+
EmptyConfigurationBuilder.New.WithPatchVersionBumpMessage("This is patch version bump message.").Build()
491456
);
492457
yield return new TestCaseData(
493458
"no-bump-message=\"This is no bump message.\"",
494-
new GitVersionConfiguration
495-
{
496-
NoBumpMessage = "This is no bump message."
497-
}
459+
EmptyConfigurationBuilder.New.WithNoBumpMessage("This is no bump message.").Build()
498460
);
499461
yield return new TestCaseData(
500462
"tag-pre-release-weight=2",
501-
new GitVersionConfiguration
502-
{
503-
TagPreReleaseWeight = 2
504-
}
463+
EmptyConfigurationBuilder.New.WithTagPreReleaseWeight(2).Build()
505464
);
506465
yield return new TestCaseData(
507466
"commit-message-incrementing=MergeMessageOnly",
508-
new GitVersionConfiguration
509-
{
510-
CommitMessageIncrementing = CommitMessageIncrementMode.MergeMessageOnly
511-
}
467+
EmptyConfigurationBuilder.New.WithCommitMessageIncrementing(CommitMessageIncrementMode.MergeMessageOnly).Build()
512468
);
513469
yield return new TestCaseData(
514470
"increment=Minor",
515-
new GitVersionConfiguration
516-
{
517-
Increment = IncrementStrategy.Minor
518-
}
471+
EmptyConfigurationBuilder.New.WithIncrement(IncrementStrategy.Minor).Build()
519472
);
520473
yield return new TestCaseData(
521474
"commit-date-format=\"MM/dd/yyyy h:mm tt\"",
522-
new GitVersionConfiguration
523-
{
524-
CommitDateFormat = "MM/dd/yyyy h:mm tt"
525-
}
475+
EmptyConfigurationBuilder.New.WithCommitDateFormat("MM/dd/yyyy h:mm tt").Build()
526476
);
527477
yield return new TestCaseData(
528478
"update-build-number=true",
529-
new GitVersionConfiguration
530-
{
531-
UpdateBuildNumber = true
532-
}
479+
EmptyConfigurationBuilder.New.WithUpdateBuildNumber(true).Build()
533480
);
534481
}
535482

@@ -545,31 +492,23 @@ private static IEnumerable<TestCaseData> OverrideConfigWithMultipleOptionsTestDa
545492
{
546493
yield return new TestCaseData(
547494
"/overrideconfig tag-prefix=sample /overrideconfig assembly-versioning-scheme=MajorMinor",
548-
new GitVersionConfiguration
549-
{
550-
TagPrefix = "sample",
551-
AssemblyVersioningScheme = AssemblyVersioningScheme.MajorMinor
552-
}
495+
EmptyConfigurationBuilder.New.WithTagPrefix("sample")
496+
.WithAssemblyVersioningScheme(AssemblyVersioningScheme.MajorMinor).Build()
553497
);
554498
yield return new TestCaseData(
555499
"/overrideconfig tag-prefix=sample /overrideconfig assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\"",
556-
new GitVersionConfiguration
557-
{
558-
TagPrefix = "sample",
559-
AssemblyVersioningFormat = "{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}"
560-
}
500+
EmptyConfigurationBuilder.New.WithTagPrefix("sample")
501+
.WithAssemblyVersioningFormat("{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}").Build()
561502
);
562503
yield return new TestCaseData(
563504
"/overrideconfig tag-prefix=sample /overrideconfig assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\" /overrideconfig update-build-number=true /overrideconfig assembly-versioning-scheme=MajorMinorPatchTag /overrideconfig mode=ContinuousDelivery /overrideconfig tag-pre-release-weight=4",
564-
new GitVersionConfiguration
565-
{
566-
TagPrefix = "sample",
567-
AssemblyVersioningFormat = "{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}",
568-
UpdateBuildNumber = true,
569-
AssemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatchTag,
570-
DeploymentMode = DeploymentMode.ContinuousDelivery,
571-
TagPreReleaseWeight = 4
572-
}
505+
EmptyConfigurationBuilder.New.WithTagPrefix("sample")
506+
.WithAssemblyVersioningFormat("{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}")
507+
.WithUpdateBuildNumber(true)
508+
.WithAssemblyVersioningScheme(AssemblyVersioningScheme.MajorMinorPatchTag)
509+
.WithDeploymentMode(DeploymentMode.ContinuousDelivery)
510+
.WithTagPreReleaseWeight(4)
511+
.Build()
573512
);
574513
}
575514

src/GitVersion.BuildAgents.Tests/Agents/BitBucketPipelinesTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private void AssertVariablesAreWrittenToFile(string propertyFile, string ps1File
147147

148148
var variableProvider = this.sp.GetRequiredService<IVariableProvider>();
149149

150-
var variables = variableProvider.GetVariablesFor(semanticVersion, new GitVersionConfiguration(), 0);
150+
var variables = variableProvider.GetVariablesFor(semanticVersion, EmptyConfigurationBuilder.New.Build(), 0);
151151

152152
this.buildServer.WithPropertyFile(propertyFile);
153153
this.buildServer.WithPowershellFile(ps1File);

src/GitVersion.BuildAgents.Tests/Agents/BuildServerBaseTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void BuildNumberIsFullSemVer()
3737
}
3838
};
3939

40-
var variables = this.buildServer.GetVariablesFor(semanticVersion, new GitVersionConfiguration(), 0);
40+
var variables = this.buildServer.GetVariablesFor(semanticVersion, EmptyConfigurationBuilder.New.Build(), 0);
4141
var buildAgent = this.sp.GetRequiredService<BuildAgent>();
4242
buildAgent.WriteIntegration(writes.Add, variables);
4343

src/GitVersion.BuildAgents.Tests/Agents/CodeBuildTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ private void AssertVariablesAreWrittenToFile(string file)
8484

8585
var variableProvider = this.sp.GetRequiredService<IVariableProvider>();
8686

87-
var variables = variableProvider.GetVariablesFor(semanticVersion, new GitVersionConfiguration(), 0);
87+
var variables = variableProvider.GetVariablesFor(semanticVersion, EmptyConfigurationBuilder.New.Build(), 0);
8888

8989
this.buildServer.WithPropertyFile(file);
9090

src/GitVersion.BuildAgents.Tests/Agents/GitLabCiTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ private void AssertVariablesAreWrittenToFile(string file)
6969

7070
var variableProvider = this.sp.GetRequiredService<IVariableProvider>();
7171

72-
var variables = variableProvider.GetVariablesFor(semanticVersion, new GitVersionConfiguration(), 0);
72+
var variables = variableProvider.GetVariablesFor(semanticVersion, EmptyConfigurationBuilder.New.Build(), 0);
7373

7474
this.buildServer.WithPropertyFile(file);
7575

src/GitVersion.BuildAgents.Tests/Agents/JenkinsTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ private void AssertVariablesAreWrittenToFile(string file)
136136

137137
var variableProvider = this.sp.GetRequiredService<IVariableProvider>();
138138

139-
var variables = variableProvider.GetVariablesFor(semanticVersion, new GitVersionConfiguration(), 0);
139+
var variables = variableProvider.GetVariablesFor(semanticVersion, EmptyConfigurationBuilder.New.Build(), 0);
140140

141141
this.buildServer.WithPropertyFile(file);
142142

src/GitVersion.Configuration.Tests/Configuration/ConfigurationExtensionsTests.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,11 @@ public class ConfigurationExtensionsTests : TestBase
99
[Test]
1010
public void GetReleaseBranchConfigReturnsAllReleaseBranches()
1111
{
12-
var configuration = new GitVersionConfiguration
13-
{
14-
Branches = new Dictionary<string, BranchConfiguration>
15-
{
16-
{ "foo", new BranchConfiguration() },
17-
{ "bar", new BranchConfiguration { IsReleaseBranch = true } },
18-
{ "baz", new BranchConfiguration { IsReleaseBranch = true } }
19-
}
20-
};
12+
var configuration = EmptyConfigurationBuilder.New
13+
.WithBranch("foo", _ => _.WithRegularExpression("foo"))
14+
.WithBranch("bar", _ => _.WithRegularExpression("bar").WithIsReleaseBranch(true))
15+
.WithBranch("baz", _ => _.WithRegularExpression("baz").WithIsReleaseBranch(true))
16+
.Build();
2117

2218
var result = configuration.GetReleaseBranchConfiguration();
2319

src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.CanWriteOutEffectiveConfiguration.approved.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ branches:
2222
label: alpha
2323
increment: Minor
2424
prevent-increment-of-merged-branch-version: false
25-
prevent-increment-when-tagged: false
25+
prevent-increment-when-current-commit-tagged: false
2626
track-merge-target: true
2727
regex: ^dev(elop)?(ment)?$
2828
source-branches: []
@@ -50,7 +50,7 @@ branches:
5050
label: beta
5151
increment: None
5252
prevent-increment-of-merged-branch-version: true
53-
prevent-increment-when-tagged: false
53+
prevent-increment-when-current-commit-tagged: false
5454
track-merge-target: false
5555
regex: ^releases?[/-]
5656
source-branches:
@@ -96,7 +96,7 @@ branches:
9696
mode: ManualDeployment
9797
label: beta
9898
increment: Inherit
99-
prevent-increment-when-tagged: false
99+
prevent-increment-when-current-commit-tagged: false
100100
regex: ^hotfix(es)?[/-]
101101
source-branches:
102102
- release
@@ -139,7 +139,7 @@ mode: ContinuousDelivery
139139
label: '{BranchName}'
140140
increment: Inherit
141141
prevent-increment-of-merged-branch-version: false
142-
prevent-increment-when-tagged: true
142+
prevent-increment-when-current-commit-tagged: true
143143
track-merge-target: false
144144
track-merge-message: true
145145
commit-message-incrementing: Enabled

0 commit comments

Comments
 (0)