Skip to content

Commit 1200ae1

Browse files
committed
code cleanup
1 parent ec25813 commit 1200ae1

File tree

5 files changed

+20
-27
lines changed

5 files changed

+20
-27
lines changed

src/GitVersion.Core/Configuration/IgnoreConfigurationExtensions.cs

+4-12
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,20 @@ namespace GitVersion.Configuration;
55

66
internal static class IgnoreConfigurationExtensions
77
{
8-
public static IEnumerable<ITag> Filter(this IIgnoreConfiguration ignore, IEnumerable<ITag> source)
8+
public static IEnumerable<ITag> Filter(this IIgnoreConfiguration ignore, ITag[] source)
99
{
1010
ignore.NotNull();
1111
source.NotNull();
1212

13-
if (!ignore.IsEmpty)
14-
{
15-
return source.Where(element => ShouldBeIgnored(element.Commit, ignore));
16-
}
17-
return source;
13+
return !ignore.IsEmpty ? source.Where(element => ShouldBeIgnored(element.Commit, ignore)) : source;
1814
}
1915

20-
public static IEnumerable<ICommit> Filter(this IIgnoreConfiguration ignore, IEnumerable<ICommit> source)
16+
public static IEnumerable<ICommit> Filter(this IIgnoreConfiguration ignore, ICommit[] source)
2117
{
2218
ignore.NotNull();
2319
source.NotNull();
2420

25-
if (!ignore.IsEmpty)
26-
{
27-
return source.Where(element => ShouldBeIgnored(element, ignore));
28-
}
29-
return source;
21+
return !ignore.IsEmpty ? source.Where(element => ShouldBeIgnored(element, ignore)) : source;
3022
}
3123

3224
private static bool ShouldBeIgnored(ICommit commit, IIgnoreConfiguration ignore)

src/GitVersion.Core/Core/RepositoryStore.cs

+11-10
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ internal class RepositoryStore(ILog log, IGitRepository repository) : IRepositor
6060
this.log.Info("Using latest commit on specified branch");
6161
}
6262

63-
commits = ignore.Filter(commits);
63+
commits = ignore.Filter(commits.ToArray());
6464
return commits.FirstOrDefault();
6565
}
6666

@@ -219,8 +219,7 @@ public IReadOnlyList<ICommit> GetCommitLog(ICommit? baseVersionSource, ICommit c
219219
SortBy = CommitSortStrategies.Topological | CommitSortStrategies.Time
220220
};
221221

222-
var commits = this.repository.Commits.QueryBy(filter);
223-
222+
var commits = FilterCommits(filter).ToArray();
224223
return ignore.Filter(commits).ToList();
225224
}
226225

@@ -232,16 +231,16 @@ public IReadOnlyList<ICommit> GetCommitsReacheableFromHead(ICommit? headCommit,
232231
SortBy = CommitSortStrategies.Topological | CommitSortStrategies.Reverse
233232
};
234233

235-
var commits = this.repository.Commits.QueryBy(filter);
234+
var commits = FilterCommits(filter).ToArray();
236235
return ignore.Filter(commits).ToList();
237236
}
238237

239238
public IReadOnlyList<ICommit> GetCommitsReacheableFrom(IGitObject commit, IBranch branch)
240239
{
241240
var filter = new CommitFilter { IncludeReachableFrom = branch };
242-
var commitCollection = this.repository.Commits.QueryBy(filter);
243241

244-
return commitCollection.Where(c => c.Sha == commit.Sha).ToList();
242+
var commits = FilterCommits(filter);
243+
return commits.Where(c => c.Sha == commit.Sha).ToList();
245244
}
246245

247246
public ICommit? GetForwardMerge(ICommit? commitToFindCommonBase, ICommit? findMergeBase)
@@ -251,18 +250,20 @@ public IReadOnlyList<ICommit> GetCommitsReacheableFrom(IGitObject commit, IBranc
251250
IncludeReachableFrom = commitToFindCommonBase,
252251
ExcludeReachableFrom = findMergeBase
253252
};
254-
var commitCollection = this.repository.Commits.QueryBy(filter);
255253

256-
return commitCollection.FirstOrDefault(c => c.Parents.Contains(findMergeBase));
254+
var commits = FilterCommits(filter);
255+
return commits.FirstOrDefault(c => c.Parents.Contains(findMergeBase));
257256
}
258257

259258
public bool IsCommitOnBranch(ICommit? baseVersionSource, IBranch branch, ICommit firstMatchingCommit)
260259
{
261260
var filter = new CommitFilter { IncludeReachableFrom = branch, ExcludeReachableFrom = baseVersionSource, FirstParentOnly = true };
262-
var commitCollection = this.repository.Commits.QueryBy(filter);
263-
return commitCollection.Contains(firstMatchingCommit);
261+
var commits = FilterCommits(filter);
262+
return commits.Contains(firstMatchingCommit);
264263
}
265264

265+
private IEnumerable<ICommit> FilterCommits(CommitFilter filter) => this.repository.Commits.QueryBy(filter);
266+
266267
public ICommit? FindMergeBase(ICommit commit, ICommit mainlineTip) => this.repository.FindMergeBase(commit, mainlineTip);
267268

268269
private IBranch? FindBranch(string branchName) => this.repository.Branches.FirstOrDefault(x => x.Name.EquivalentTo(branchName));

src/GitVersion.Core/Core/TaggedSemanticVersionRepository.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ IEnumerable<SemanticVersionWithTag> GetElements()
4949
{
5050
var semanticVersions = GetTaggedSemanticVersions(tagPrefix, format, ignore);
5151

52-
foreach (var commit in ignore.Filter(branch.Commits))
52+
foreach (var commit in ignore.Filter(branch.Commits.ToArray()))
5353
{
5454
foreach (var semanticVersion in semanticVersions[commit])
5555
{
@@ -88,7 +88,7 @@ public ILookup<ICommit, SemanticVersionWithTag> GetTaggedSemanticVersionsOfMerge
8888
using (this.log.IndentLog($"Getting tagged semantic versions by track merge target '{branch.Name.Canonical}'. " +
8989
$"TagPrefix: {tagPrefix} and Format: {format}"))
9090
{
91-
var shaHashSet = new HashSet<string>(ignore.Filter(branch.Commits).Select(element => element.Id.Sha));
91+
var shaHashSet = new HashSet<string>(ignore.Filter(branch.Commits.ToArray()).Select(element => element.Id.Sha));
9292

9393
foreach (var semanticVersion in GetTaggedSemanticVersions(tagPrefix, format, ignore).SelectMany(v => v))
9494
{
@@ -124,7 +124,7 @@ IEnumerable<SemanticVersionWithTag> GetElements()
124124
{
125125
this.log.Info($"Getting tagged semantic versions. TagPrefix: {tagPrefix} and Format: {format}");
126126

127-
foreach (var tag in ignore.Filter(this.repositoryStore.Tags))
127+
foreach (var tag in ignore.Filter(this.repositoryStore.Tags.ToArray()))
128128
{
129129
if (SemanticVersion.TryParse(tag.Name.Friendly, tagPrefix, out var semanticVersion, format))
130130
{

src/GitVersion.Core/VersionCalculation/VersionSearchStrategies/MainlineVersionStrategy.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public IEnumerable<BaseVersion> GetBaseVersions(EffectiveBranchConfiguration con
8282
configuration: branchConfiguration
8383
);
8484

85-
var commitsInReverseOrder = Context.Configuration.Ignore.Filter(Context.CurrentBranchCommits);
85+
var commitsInReverseOrder = Context.Configuration.Ignore.Filter(Context.CurrentBranchCommits.ToArray());
8686

8787
TaggedSemanticVersions taggedSemanticVersion = TaggedSemanticVersions.OfBranch;
8888
if (branchConfiguration.TrackMergeTarget == true) taggedSemanticVersion |= TaggedSemanticVersions.OfMergeTargets;

src/GitVersion.Core/VersionCalculation/VersionSearchStrategies/MergeMessageVersionStrategy.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ private IEnumerable<BaseVersion> GetBaseVersionsInternal(EffectiveBranchConfigur
3333
|| !configuration.Value.TrackMergeMessage)
3434
yield break;
3535

36-
foreach (var commit in configuration.Value.Ignore.Filter(Context.CurrentBranchCommits))
36+
foreach (var commit in configuration.Value.Ignore.Filter(Context.CurrentBranchCommits.ToArray()))
3737
{
3838
if (MergeMessage.TryParse(commit, Context.Configuration, out var mergeMessage)
3939
&& mergeMessage.Version is not null

0 commit comments

Comments
 (0)