Skip to content

Commit 613ee7a

Browse files
HHobeckarturcic
authored andcommitted
Integrate code review comments of reviewer asbjornu and arturcic.
1 parent 6349b0e commit 613ee7a

File tree

6 files changed

+32
-29
lines changed

6 files changed

+32
-29
lines changed

src/GitVersion.Core.Tests/Helpers/ConfigBuilder.cs renamed to src/GitVersion.Core.Tests/Helpers/TestConfigurationBuilder.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
namespace GitVersion.Core.Tests.Helpers;
66

7-
public sealed class ConfigBuilder
7+
public sealed class TestConfigurationBuilder
88
{
9-
public static ConfigBuilder New => new();
9+
public static TestConfigurationBuilder New => new();
1010

1111
private string? nextVerson;
1212
private VersioningMode? versioningMode;
@@ -19,87 +19,87 @@ public sealed class ConfigBuilder
1919
private readonly Dictionary<string, string?> tagDictionary = new();
2020
private IgnoreConfig? ignoreConfig;
2121

22-
private ConfigBuilder()
22+
private TestConfigurationBuilder()
2323
{
2424
withoutAnyTrackMergeTargets = false;
2525
increment = IncrementStrategy.Inherit;
2626
versioningMode = VersioningMode.ContinuousDelivery;
2727
}
2828

29-
public ConfigBuilder WithNextVersion(string? value)
29+
public TestConfigurationBuilder WithNextVersion(string? value)
3030
{
3131
nextVerson = value;
3232
return this;
3333
}
3434

35-
public ConfigBuilder WithVersioningMode(VersioningMode value)
35+
public TestConfigurationBuilder WithVersioningMode(VersioningMode value)
3636
{
3737
versioningMode = value;
3838
return this;
3939
}
4040

41-
public ConfigBuilder WithoutVersioningMode()
41+
public TestConfigurationBuilder WithoutVersioningMode()
4242
{
4343
versioningMode = null;
4444
return this;
4545
}
4646

47-
public ConfigBuilder WithVersioningMode(string branch, VersioningMode value)
47+
public TestConfigurationBuilder WithVersioningMode(string branch, VersioningMode value)
4848
{
4949
versioningModeDictionary[branch] = value;
5050
return this;
5151
}
5252

53-
public ConfigBuilder WithoutVersioningMode(string branch)
53+
public TestConfigurationBuilder WithoutVersioningMode(string branch)
5454
{
5555
versioningModeDictionary[branch] = null;
5656
return this;
5757
}
5858

59-
public ConfigBuilder WithTrackMergeTarget(string branch, bool value)
59+
public TestConfigurationBuilder WithTrackMergeTarget(string branch, bool value)
6060
{
6161
trackMergeTargetsDictionary[branch] = value;
6262
return this;
6363
}
6464

65-
public ConfigBuilder WithoutAnyTrackMergeTargets()
65+
public TestConfigurationBuilder WithoutAnyTrackMergeTargets()
6666
{
6767
withoutAnyTrackMergeTargets = true;
6868
trackMergeTargetsDictionary.Clear();
6969
return this;
7070
}
7171

72-
public ConfigBuilder WithPreventIncrementOfMergedBranchVersion(string branch, bool value)
72+
public TestConfigurationBuilder WithPreventIncrementOfMergedBranchVersion(string branch, bool value)
7373
{
7474
preventIncrementOfMergedBranchVersionDictionary[branch] = value;
7575
return this;
7676
}
7777

78-
public ConfigBuilder WithIncrement(IncrementStrategy? value)
78+
public TestConfigurationBuilder WithIncrement(IncrementStrategy? value)
7979
{
8080
increment = value;
8181
return this;
8282
}
8383

84-
public ConfigBuilder WithIncrement(string branch, IncrementStrategy value)
84+
public TestConfigurationBuilder WithIncrement(string branch, IncrementStrategy value)
8585
{
8686
incrementDictionary[branch] = value;
8787
return this;
8888
}
8989

90-
public ConfigBuilder WithoutTag(string branch)
90+
public TestConfigurationBuilder WithoutTag(string branch)
9191
{
9292
tagDictionary[branch] = null;
9393
return this;
9494
}
9595

96-
public ConfigBuilder WithTag(string branch, string value)
96+
public TestConfigurationBuilder WithTag(string branch, string value)
9797
{
9898
tagDictionary[branch] = value;
9999
return this;
100100
}
101101

102-
public ConfigBuilder WithIgnoreConfig(IgnoreConfig value)
102+
public TestConfigurationBuilder WithIgnoreConfig(IgnoreConfig value)
103103
{
104104
ignoreConfig = value;
105105
return this;

src/GitVersion.Core.Tests/VersionCalculation/NextVersionCalculatorTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void ShouldIncrementVersionBasedOnConfig()
2222
contextBuilder
2323
.OverrideServices(services =>
2424
{
25-
var configuration = ConfigBuilder.New.Build();
25+
var configuration = TestConfigurationBuilder.New.Build();
2626
var branchMock = GitToolsTestingExtensions.CreateMockBranch("main", GitToolsTestingExtensions.CreateMockCommit());
2727
var effectiveConfiguration = new EffectiveConfiguration(configuration, configuration.GetBranchConfiguration("main"));
2828
var effectiveBranchConfiguration = new EffectiveBranchConfiguration(branchMock, effectiveConfiguration);
@@ -54,7 +54,7 @@ public void DoesNotIncrementWhenBaseVersionSaysNotTo()
5454
contextBuilder
5555
.OverrideServices(services =>
5656
{
57-
var configuration = ConfigBuilder.New.Build();
57+
var configuration = TestConfigurationBuilder.New.Build();
5858
var branchMock = GitToolsTestingExtensions.CreateMockBranch("main", GitToolsTestingExtensions.CreateMockCommit());
5959
var effectiveConfiguration = new EffectiveConfiguration(configuration, configuration.GetBranchConfiguration("main"));
6060
var effectiveBranchConfiguration = new EffectiveBranchConfiguration(branchMock, effectiveConfiguration);
@@ -86,7 +86,7 @@ public void AppliesBranchPreReleaseTag()
8686
contextBuilder
8787
.OverrideServices(services =>
8888
{
89-
var configuration = ConfigBuilder.New.Build();
89+
var configuration = TestConfigurationBuilder.New.Build();
9090
var branchMock = GitToolsTestingExtensions.CreateMockBranch("develop", GitToolsTestingExtensions.CreateMockCommit());
9191
var effectiveConfiguration = new EffectiveConfiguration(configuration, configuration.GetBranchConfiguration("develop"));
9292
var effectiveBranchConfiguration = new EffectiveBranchConfiguration(branchMock, effectiveConfiguration);

src/GitVersion.Core.Tests/VersionCalculation/Strategies/VersionInBranchNameBaseVersionStrategyTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public void CanTakeVersionFromNameOfReleaseBranch(string branchName, string expe
2323

2424
var gitRepository = fixture.Repository.ToGitRepository();
2525
var strategy = GetVersionStrategy(fixture.RepositoryPath, gitRepository, branchName);
26-
var configuration = ConfigBuilder.New.Build();
26+
var configuration = TestConfigurationBuilder.New.Build();
2727
var branchConfiguration = configuration.GetBranchConfiguration(branchName);
2828
var effectiveConfiguration = new EffectiveConfiguration(configuration, branchConfiguration);
2929
var baseVersion = strategy.GetBaseVersions(new(gitRepository.FindBranch(branchName)!, effectiveConfiguration)).Single();
@@ -43,7 +43,7 @@ public void ShouldNotTakeVersionFromNameOfNonReleaseBranch(string branchName)
4343

4444
var gitRepository = fixture.Repository.ToGitRepository();
4545
var strategy = GetVersionStrategy(fixture.RepositoryPath, gitRepository, branchName);
46-
var configuration = ConfigBuilder.New.Build();
46+
var configuration = TestConfigurationBuilder.New.Build();
4747
var branchConfiguration = configuration.GetBranchConfiguration(branchName);
4848
var effectiveConfiguration = new EffectiveConfiguration(configuration, branchConfiguration);
4949
var baseVersions = strategy.GetBaseVersions(new(gitRepository.FindBranch(branchName)!, effectiveConfiguration));
@@ -66,7 +66,7 @@ public void CanTakeVersionFromNameOfConfiguredReleaseBranch(string branchName, s
6666
var gitRepository = fixture.Repository.ToGitRepository();
6767
var strategy = GetVersionStrategy(fixture.RepositoryPath, gitRepository, branchName, config);
6868

69-
var configuration = ConfigBuilder.New.Build();
69+
var configuration = TestConfigurationBuilder.New.Build();
7070
var branchConfiguration = configuration.GetBranchConfiguration(branchName);
7171
var effectiveConfiguration = new EffectiveConfiguration(configuration, branchConfiguration);
7272
var baseVersion = strategy.GetBaseVersions(new(gitRepository.FindBranch(branchName)!, effectiveConfiguration)).Single();
@@ -89,7 +89,7 @@ public void CanTakeVersionFromNameOfRemoteReleaseBranch(string branchName, strin
8989
var gitRepository = fixture.Repository.ToGitRepository();
9090
var strategy = GetVersionStrategy(fixture.RepositoryPath, gitRepository, branchName);
9191

92-
var configuration = ConfigBuilder.New.Build();
92+
var configuration = TestConfigurationBuilder.New.Build();
9393
var branchConfiguration = configuration.GetBranchConfiguration(branchName);
9494
var effectiveConfiguration = new EffectiveConfiguration(configuration, branchConfiguration);
9595
var baseVersion = strategy.GetBaseVersions(new(gitRepository.FindBranch(branchName)!, effectiveConfiguration)).Single();

src/GitVersion.Core/Configuration/BranchConfigurationCalculator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ private BranchConfig GetBranchConfigurationInternal(int recursions, IBranch targ
3434
throw new InfiniteLoopProtectionException($"Inherited branch configuration caused {recursions} recursions. Aborting!");
3535
}
3636

37-
var matchingBranches = configuration.FindConfigurationForBranch(targetBranch.Name.WithoutRemote);
37+
var matchingBranches = configuration.ForBranch(targetBranch);
3838

3939
if (matchingBranches == null)
4040
{

src/GitVersion.Core/Configuration/ConfigExtensions.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public static BranchConfig GetBranchConfiguration(this Config configuration, IBr
1212

1313
public static BranchConfig GetBranchConfiguration(this Config configuration, string branchName)
1414
{
15-
var branchConfiguration = FindConfigurationForBranch(configuration, branchName);
15+
var branchConfiguration = ForBranch(configuration, branchName);
1616
if (branchConfiguration is null)
1717
{
1818
branchConfiguration = GetUnknownBranchConfiguration(configuration);
@@ -54,9 +54,12 @@ public static BranchConfig GetFallbackBranchConfiguration(this Config configurat
5454
return result;
5555
}
5656

57-
internal static BranchConfig? FindConfigurationForBranch(this Config config, string branchName)
57+
internal static BranchConfig? ForBranch(this Config configuration, IBranch branch)
58+
=> GetBranchConfiguration(configuration, branch.NotNull().Name.WithoutRemote);
59+
60+
internal static BranchConfig? ForBranch(this Config configuration, string branchName)
5861
{
59-
var matches = config.Branches
62+
var matches = configuration.Branches
6063
.Where(b => b.Value?.Regex != null && Regex.IsMatch(branchName, b.Value.Regex, RegexOptions.IgnoreCase))
6164
.ToArray();
6265

src/GitVersion.Core/Core/RepositoryStore.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ public IEnumerable<IBranch> GetBranchesForCommit(ICommit commit)
155155
public IEnumerable<IBranch> GetExcludedInheritBranches(Config configuration)
156156
=> this.repository.Branches.Where(b =>
157157
{
158-
var branchConfig = configuration.FindConfigurationForBranch(b.Name.WithoutRemote);
158+
var branchConfiguration = configuration.ForBranch(b);
159159

160-
return branchConfig == null || branchConfig.Increment == IncrementStrategy.Inherit;
160+
return branchConfiguration == null || branchConfiguration.Increment == IncrementStrategy.Inherit;
161161
}).ToList();
162162

163163
public IEnumerable<IBranch> GetReleaseBranches(IEnumerable<KeyValuePair<string, BranchConfig>> releaseBranchConfig)

0 commit comments

Comments
 (0)