Skip to content

Commit 7f0309b

Browse files
committed
Integrate code review comments of reviewer asbjornu.
1 parent ff6f27f commit 7f0309b

16 files changed

+281
-322
lines changed

docs/input/docs/reference/configuration.md

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -329,36 +329,28 @@ branches:
329329
feature:
330330
regex: ^features?[/-]
331331
mode: ContinuousDelivery
332-
tag: useBranchName
332+
tag: '{BranchName}'
333333
increment: Inherit
334334
prevent-increment-of-merged-branch-version: false
335-
track-merge-target: false
336335
source-branches: [ 'develop', 'main', 'release', 'feature', 'support', 'hotfix' ]
337-
tracks-release-branches: false
338-
is-release-branch: false
339-
is-mainline: false
340-
pre-release-weight: 30000
336+
pre-release-weight: 30000
341337
pull-request:
342338
regex: ^(pull|pull\-requests|pr)[/-]
343339
mode: ContinuousDelivery
344340
tag: PullRequest
345341
increment: Inherit
346342
prevent-increment-of-merged-branch-version: false
347343
tag-number-pattern: '[/-](?<number>\d+)[-/]'
348-
track-merge-target: false
349344
source-branches: [ 'develop', 'main', 'release', 'feature', 'support', 'hotfix' ]
350-
tracks-release-branches: false
351-
is-release-branch: false
352-
is-mainline: false
353345
pre-release-weight: 30000
354346
hotfix:
355347
regex: ^hotfix(es)?[/-]
356348
mode: ContinuousDelivery
357349
tag: beta
358-
increment: Patch
350+
increment: Inherit
359351
prevent-increment-of-merged-branch-version: false
360352
track-merge-target: false
361-
source-branches: [ 'develop', 'main', 'support' ]
353+
source-branches: [ 'release', 'main', 'support', 'hotfix' ]
362354
tracks-release-branches: false
363355
is-release-branch: false
364356
is-mainline: false

src/GitVersion.App.Tests/JsonOutputOnBuildServerTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public void BeingOnBuildServerWithOutputJsonDoesNotFail()
3737
var result = GitVersionHelper.ExecuteIn(fixture.LocalRepositoryFixture.RepositoryPath, arguments: " /output json /output buildserver", environments: env);
3838

3939
result.ExitCode.ShouldBe(0);
40-
const string version = "0.0.1+5";
41-
result.Output.ShouldContain($"##teamcity[buildNumber '{version}']");
40+
const string expectedVersion = "0.0.1+5";
41+
result.Output.ShouldContain($"##teamcity[buildNumber '{expectedVersion}']");
4242
result.OutputVariables.ShouldNotBeNull();
43-
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(version);
43+
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(expectedVersion);
4444
}
4545

4646
[TestCase("", "GitVersion.json")]
@@ -56,16 +56,16 @@ public void BeingOnBuildServerWithOutputJsonAndOutputFileDoesNotFail(string outp
5656
var result = GitVersionHelper.ExecuteIn(fixture.LocalRepositoryFixture.RepositoryPath, arguments: $" /output json /output buildserver /output file /outputfile {outputFile}", environments: env);
5757

5858
result.ExitCode.ShouldBe(0);
59-
const string version = "0.0.1+5";
60-
result.Output.ShouldContain($"##teamcity[buildNumber '{version}']");
59+
const string expectedVersion = "0.0.1+5";
60+
result.Output.ShouldContain($"##teamcity[buildNumber '{expectedVersion}']");
6161
result.OutputVariables.ShouldNotBeNull();
62-
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(version);
62+
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(expectedVersion);
6363

6464
var filePath = PathHelper.Combine(fixture.LocalRepositoryFixture.RepositoryPath, fileName);
6565
var json = File.ReadAllText(filePath);
6666

6767
var outputVariables = VersionVariables.FromJson(json);
6868
outputVariables.ShouldNotBeNull();
69-
outputVariables.FullSemVer.ShouldBeEquivalentTo(version);
69+
outputVariables.FullSemVer.ShouldBeEquivalentTo(expectedVersion);
7070
}
7171
}

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public void ShouldNotMatterWhenConfiguredNextVersionIsEqualsToTheTaggeVersion()
8181
}
8282

8383
[Test]
84-
public void ShouldNotMatterWhenConfiguredNextVersionIsGreaterThanTheTaggedVersion()
84+
public void ShouldUseTaggedVersionWhenGreaterThanConfiguredNextVersion()
8585
{
8686
// * ba74727 58 minutes ago (HEAD -> main, tag: 1.1.0)
8787

@@ -306,14 +306,14 @@ public void ShouldFallbackToTheVersionOnDevelopLikeTheReleaseWasNeverCreatedWhen
306306
// cancel the release 1.0.0
307307
fixture.Repository.Branches.Remove("release/1.0.0");
308308

309-
// expected: "0.1.0-alpha.6"
309+
// expected: "0.1.0-alpha.6"
310310
fixture.AssertFullSemver("1.1.0-alpha.4", configuration);
311311

312312
fixture.Repository.DumpGraph();
313313
}
314314

315315
[Test]
316-
public void ShouldConsiderTheMergeCommitFromMainToDevelopWhenReleaseHasBeenShippedToProduction()
316+
public void ShouldConsiderTheMergeCommitFromMainToDevelopWhenReleaseHasBeenMergedAndTaggedOnMain()
317317
{
318318
// * 5d13120 48 minutes ago (HEAD -> develop)
319319
// |\
@@ -377,7 +377,7 @@ public void ShouldConsiderTheMergeCommitFromMainToDevelopWhenReleaseHasBeenShipp
377377
fixture.Checkout("main");
378378
fixture.MergeNoFF("release/1.0.0");
379379

380-
// expected: "0.0.1-ci.5"
380+
// expected: "0.0.1-ci.5"
381381
fixture.AssertFullSemver("1.0.0-ci.0", configuration);
382382

383383
fixture.ApplyTag("1.0.0");
@@ -392,12 +392,12 @@ public void ShouldConsiderTheMergeCommitFromMainToDevelopWhenReleaseHasBeenShipp
392392

393393
fixture.MergeNoFF("main");
394394

395-
// expected: "1.1.0-alpha.2"
395+
// expected: "1.1.0-alpha.2"
396396
fixture.AssertFullSemver("1.1.0-alpha.6", configuration);
397397

398398
fixture.Repository.Branches.Remove("release/1.0.0");
399399

400-
// expected: "1.1.0-alpha.2"
400+
// expected: "1.1.0-alpha.2
401401
fixture.AssertFullSemver("1.1.0-alpha.6", configuration);
402402

403403
fixture.Repository.DumpGraph();

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -509,12 +509,12 @@ public void ShouldTreatTheMergeFromReleaseToDevelopLikeTheReleaseBranchHasNeverB
509509

510510
fixture.Repository.Branches.Remove("release/1.0.0");
511511

512-
// expected: "0.1.0+6" because the release has been canceled and should be treated like it was never existing
512+
// expected: "0.1.0+6" because the release has been canceled and should be treated like it was never existing
513513
fixture.AssertFullSemver("1.1.0-alpha.4", configuration);
514514

515515
fixture.MakeACommit();
516516

517-
// expected: "0.1.0+7" because the release has been canceled and should be treated like it was never existing
517+
// expected: "0.1.0+7" because the release has been canceled and should be treated like it was never existing
518518
fixture.AssertFullSemver("1.1.0-alpha.5", configuration);
519519

520520
fixture.Repository.DumpGraph();
@@ -584,7 +584,7 @@ public void ShouldOnlyTrackTheCommitsOnDevelopBranchForNextReleaseWhenReleaseHas
584584
fixture.Checkout("main");
585585
fixture.MergeNoFF("release/1.0.0");
586586

587-
// expected: "0.0.1+4" because until the commit is not tagged it's a hotfix
587+
// expected: "0.0.1+4" because until the commit is not tagged it's a hotfix
588588
fixture.AssertFullSemver("1.0.0+0", configuration);
589589

590590
fixture.ApplyTag("1.0.0");
@@ -604,7 +604,7 @@ public void ShouldOnlyTrackTheCommitsOnDevelopBranchForNextReleaseWhenReleaseHas
604604

605605
fixture.Repository.Branches.Remove("release/1.0.0");
606606

607-
// expected: "1.1.0-alpha.2" because only one commit and one merge has been pushed
607+
// expected: "1.1.0-alpha.2" because only one commit and one merge has been pushed
608608
fixture.AssertFullSemver("1.1.0-alpha.6", configuration);
609609

610610
fixture.Repository.DumpGraph();
@@ -673,12 +673,12 @@ public void ShouldNotConsiderTheMergeCommitFromReleaseToMainWhenCommitHasNotBeen
673673
fixture.Checkout("main");
674674
fixture.MergeNoFF("release/1.0.0");
675675

676-
// expected: "0.0.1+4" because until the commit is not tagged it's a hotfix
676+
// expected: "0.0.1+4" because until the commit is not tagged it's a hotfix
677677
fixture.AssertFullSemver("1.0.0+0", configuration);
678678

679679
fixture.Repository.Branches.Remove("release/1.0.0");
680680

681-
// expected: "0.0.1+4" because until the commit is not tagged it's a hotfix
681+
// expected: "0.0.1+4" because until the commit is not tagged it's a hotfix
682682
fixture.AssertFullSemver("1.0.0+4", configuration);
683683

684684
fixture.ApplyTag("1.0.0");

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public void WhenDevelopBranchedFromMainDetachedHeadMinorIsIncreased()
140140
}
141141

142142
[Test]
143-
public void InheritVersionFromReleaseBranch()
143+
public void InheritVersionFromParentReleaseBranch()
144144
{
145145
using var fixture = new EmptyRepositoryFixture();
146146
fixture.MakeATaggedCommit("1.0.0");
@@ -161,7 +161,7 @@ public void InheritVersionFromReleaseBranch()
161161
}
162162

163163
[Test]
164-
public void InheritVersionFromReleaseBranch2Insteadof3()
164+
public void InheritVersionFromParentReleaseBranchWithVersion2InsteadOfVersion3()
165165
{
166166
using var fixture = new EmptyRepositoryFixture();
167167
fixture.MakeATaggedCommit("1.0.0");
@@ -356,9 +356,10 @@ public void WhenPreventIncrementOfMergedBranchVersionIsSetToFalseForDevelopCommi
356356
[Test]
357357
public void WhenPreventIncrementOfMergedBranchVersionIsSetToTrueForDevelopCommitsSinceVersionSourceShouldNotGoDownWhenMergingReleaseToDevelop()
358358
{
359-
var configBuilder = TestConfigurationBuilder.New.WithVersioningMode(VersioningMode.ContinuousDeployment)
360-
.WithPreventIncrementOfMergedBranchVersion("develop", true);
361-
var config = configBuilder.Build();
359+
var configuration = TestConfigurationBuilder.New
360+
.WithVersioningMode(VersioningMode.ContinuousDeployment)
361+
.WithPreventIncrementOfMergedBranchVersion("develop", true)
362+
.Build();
362363

363364
using var fixture = new EmptyRepositoryFixture();
364365
const string ReleaseBranch = "release/1.1.0";
@@ -382,15 +383,15 @@ public void WhenPreventIncrementOfMergedBranchVersionIsSetToTrueForDevelopCommit
382383

383384
// Version numbers will still be correct when the release branch is around.
384385
fixture.AssertFullSemver("1.2.0-alpha.6");
385-
fixture.AssertFullSemver("1.2.0-alpha.6", config);
386+
fixture.AssertFullSemver("1.2.0-alpha.6", configuration);
386387

387-
var versionSourceBeforeReleaseBranchIsRemoved = fixture.GetVersion(config).Sha;
388+
var versionSourceBeforeReleaseBranchIsRemoved = fixture.GetVersion(configuration).Sha;
388389

389390
fixture.Repository.Branches.Remove(ReleaseBranch);
390-
var versionSourceAfterReleaseBranchIsRemoved = fixture.GetVersion(config).Sha;
391+
var versionSourceAfterReleaseBranchIsRemoved = fixture.GetVersion(configuration).Sha;
391392
Assert.AreEqual(versionSourceBeforeReleaseBranchIsRemoved, versionSourceAfterReleaseBranchIsRemoved);
392393
fixture.AssertFullSemver("1.2.0-alpha.6");
393-
fixture.AssertFullSemver("1.2.0-alpha.3", config);
394+
fixture.AssertFullSemver("1.2.0-alpha.3", configuration);
394395
}
395396

396397
[Test]

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ public void GivenARepositoryWithCommitsButNoTagsWithDetachedHeadVersionShouldBe0
8484
{
8585
using var fixture = new EmptyRepositoryFixture();
8686
// Given
87-
fixture.Repository.MakeACommit(); // one
88-
fixture.Repository.MakeACommit(); // two
89-
fixture.Repository.MakeACommit(); // three
87+
fixture.Repository.MakeACommit("one");
88+
fixture.Repository.MakeACommit("two");
89+
fixture.Repository.MakeACommit("three");
9090

9191
var commit = fixture.Repository.Head.Tip;
9292
fixture.Repository.MakeACommit();
@@ -231,14 +231,14 @@ public void AreTagsNotAdheringToTagPrefixIgnored()
231231
var config = new Config { TagPrefix = "" };
232232
using var fixture = new EmptyRepositoryFixture();
233233
var taggedVersion = "version-1.0.3";
234-
fixture.Repository.MakeATaggedCommit(taggedVersion); // one
235-
fixture.Repository.MakeCommits(5); // two, thre, four, five, six right?
234+
fixture.Repository.MakeATaggedCommit(taggedVersion);
235+
fixture.Repository.MakeCommits(5);
236236

237-
fixture.AssertFullSemver("0.0.1+6", config); // 6 commits
237+
fixture.AssertFullSemver("0.0.1+6", config);
238238

239239
taggedVersion = "bad/1.0.3";
240-
fixture.Repository.MakeATaggedCommit(taggedVersion); // seven
240+
fixture.Repository.MakeATaggedCommit(taggedVersion);
241241

242-
fixture.AssertFullSemver("0.0.1+7", config); // 7 commits
242+
fixture.AssertFullSemver("0.0.1+7", config);
243243
}
244244
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ public void BranchWithoutMergeBaseMainlineBranchIsFound()
504504
public void GivenARemoteGitRepositoryWithCommitsThenClonedLocalDevelopShouldMatchRemoteVersion()
505505
{
506506
using var fixture = new RemoteRepositoryFixture();
507-
fixture.AssertFullSemver("0.0.5", config); // oh a remote repository with let me guess five commits!? It makes sense right? ;)
507+
fixture.AssertFullSemver("0.0.5", config); // RemoteRepositoryFixture creates 5 commits.
508508
fixture.BranchTo("develop");
509509
fixture.AssertFullSemver("0.1.0-alpha.0", config);
510510
Console.WriteLine(fixture.SequenceDiagram.GetDiagram());

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

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ public class OtherScenarios : TestBase
1818
public void DoNotBlowUpWhenMainAndDevelopPointAtSameCommit()
1919
{
2020
using var fixture = new RemoteRepositoryFixture();
21-
fixture.Repository.MakeACommit();
22-
fixture.Repository.MakeATaggedCommit("1.0.0");
23-
fixture.Repository.MakeACommit();
21+
fixture.MakeACommit();
22+
fixture.MakeATaggedCommit("1.0.0");
23+
fixture.MakeACommit();
2424
fixture.Repository.CreateBranch("develop");
2525

2626
Commands.Fetch((Repository)fixture.LocalRepositoryFixture.Repository, fixture.LocalRepositoryFixture.Repository.Network.Remotes.First().Name, Array.Empty<string>(), new FetchOptions(), null);
@@ -34,10 +34,10 @@ public void DoNotBlowUpWhenMainAndDevelopPointAtSameCommit()
3434
public void AllowNotHavingMain()
3535
{
3636
using var fixture = new EmptyRepositoryFixture();
37-
fixture.Repository.MakeACommit();
38-
fixture.Repository.MakeATaggedCommit("1.0.0");
39-
fixture.Repository.MakeACommit();
40-
Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("develop"));
37+
fixture.MakeACommit();
38+
fixture.MakeATaggedCommit("1.0.0");
39+
fixture.MakeACommit();
40+
fixture.BranchTo("develop");
4141
fixture.Repository.Branches.Remove(fixture.Repository.Branches[MainBranch]);
4242

4343
fixture.AssertFullSemver("1.1.0-alpha.1");
@@ -47,10 +47,10 @@ public void AllowNotHavingMain()
4747
public void AllowHavingVariantsStartingWithMaster()
4848
{
4949
using var fixture = new EmptyRepositoryFixture();
50-
fixture.Repository.MakeACommit();
51-
fixture.Repository.MakeATaggedCommit("1.0.0");
52-
fixture.Repository.MakeACommit();
53-
Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("masterfix"));
50+
fixture.MakeACommit();
51+
fixture.MakeATaggedCommit("1.0.0");
52+
fixture.MakeACommit();
53+
fixture.BranchTo("masterfix");
5454

5555
fixture.AssertFullSemver("1.0.1-masterfix.1+1");
5656
}
@@ -59,10 +59,10 @@ public void AllowHavingVariantsStartingWithMaster()
5959
public void AllowHavingMasterInsteadOfMain()
6060
{
6161
using var fixture = new EmptyRepositoryFixture();
62-
fixture.Repository.MakeACommit(); // one
63-
Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("develop"));
64-
Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("master"));
65-
fixture.Repository.Branches.Remove(fixture.Repository.Branches["main"]);
62+
fixture.MakeACommit("one");
63+
fixture.BranchTo("develop");
64+
fixture.BranchTo("master");
65+
fixture.Repository.Branches.Remove("main");
6666

6767
fixture.AssertFullSemver("0.0.1+1");
6868
}
@@ -71,23 +71,22 @@ public void AllowHavingMasterInsteadOfMain()
7171
public void AllowHavingVariantsStartingWithMain()
7272
{
7373
using var fixture = new EmptyRepositoryFixture();
74-
fixture.Repository.MakeACommit();
75-
fixture.Repository.MakeATaggedCommit("1.0.0");
76-
fixture.Repository.MakeACommit();
77-
Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("mainfix"));
78-
74+
fixture.MakeACommit();
75+
fixture.MakeATaggedCommit("1.0.0");
76+
fixture.MakeACommit();
77+
fixture.BranchTo("mainfix");
7978
fixture.AssertFullSemver("1.0.1-mainfix.1+1");
8079
}
8180

8281
[Test]
8382
public void DoNotBlowUpWhenDevelopAndFeatureBranchPointAtSameCommit()
8483
{
8584
using var fixture = new RemoteRepositoryFixture();
86-
fixture.Repository.MakeACommit();
87-
Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("develop"));
88-
fixture.Repository.MakeACommit();
89-
fixture.Repository.MakeATaggedCommit("1.0.0");
90-
fixture.Repository.MakeACommit();
85+
fixture.MakeACommit();
86+
fixture.BranchTo("develop");
87+
fixture.MakeACommit();
88+
fixture.MakeATaggedCommit("1.0.0");
89+
fixture.MakeACommit();
9190
fixture.Repository.CreateBranch("feature/someFeature");
9291

9392
Commands.Fetch((Repository)fixture.LocalRepositoryFixture.Repository, fixture.LocalRepositoryFixture.Repository.Network.Remotes.First().Name, Array.Empty<string>(), new FetchOptions(), null);
@@ -104,7 +103,7 @@ public void DoNotBlowUpWhenDevelopAndFeatureBranchPointAtSameCommit()
104103
public void HasDirtyFlagWhenUncommittedChangesAreInRepo(bool stageFile, int numberOfFiles)
105104
{
106105
using var fixture = new EmptyRepositoryFixture();
107-
fixture.Repository.MakeACommit();
106+
fixture.MakeACommit();
108107

109108
for (int i = 0; i < numberOfFiles; i++)
110109
{
@@ -125,7 +124,7 @@ public void HasDirtyFlagWhenUncommittedChangesAreInRepo(bool stageFile, int numb
125124
public void NoDirtyFlagInCleanRepository()
126125
{
127126
using var fixture = new EmptyRepositoryFixture();
128-
fixture.Repository.MakeACommit();
127+
fixture.MakeACommit();
129128

130129
var version = fixture.GetVersion();
131130
const int zero = 0;

0 commit comments

Comments
 (0)