@@ -60,7 +60,7 @@ internal class RepositoryStore(ILog log, IGitRepository repository) : IRepositor
60
60
this . log . Info ( "Using latest commit on specified branch" ) ;
61
61
}
62
62
63
- commits = ignore . Filter ( commits ) ;
63
+ commits = ignore . Filter ( commits . ToArray ( ) ) ;
64
64
return commits . FirstOrDefault ( ) ;
65
65
}
66
66
@@ -219,8 +219,7 @@ public IReadOnlyList<ICommit> GetCommitLog(ICommit? baseVersionSource, ICommit c
219
219
SortBy = CommitSortStrategies . Topological | CommitSortStrategies . Time
220
220
} ;
221
221
222
- var commits = this . repository . Commits . QueryBy ( filter ) . ToArray ( ) ;
223
-
222
+ var commits = FilterCommits ( filter ) . ToArray ( ) ;
224
223
return ignore . Filter ( commits ) . ToList ( ) ;
225
224
}
226
225
@@ -232,16 +231,16 @@ public IReadOnlyList<ICommit> GetCommitsReacheableFromHead(ICommit? headCommit,
232
231
SortBy = CommitSortStrategies . Topological | CommitSortStrategies . Reverse
233
232
} ;
234
233
235
- var commits = this . repository . Commits . QueryBy ( filter ) ;
234
+ var commits = FilterCommits ( filter ) . ToArray ( ) ;
236
235
return ignore . Filter ( commits ) . ToList ( ) ;
237
236
}
238
237
239
238
public IReadOnlyList < ICommit > GetCommitsReacheableFrom ( IGitObject commit , IBranch branch )
240
239
{
241
240
var filter = new CommitFilter { IncludeReachableFrom = branch } ;
242
- var commitCollection = this . repository . Commits . QueryBy ( filter ) ;
243
241
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 ( ) ;
245
244
}
246
245
247
246
public ICommit ? GetForwardMerge ( ICommit ? commitToFindCommonBase , ICommit ? findMergeBase )
@@ -251,18 +250,20 @@ public IReadOnlyList<ICommit> GetCommitsReacheableFrom(IGitObject commit, IBranc
251
250
IncludeReachableFrom = commitToFindCommonBase ,
252
251
ExcludeReachableFrom = findMergeBase
253
252
} ;
254
- var commitCollection = this . repository . Commits . QueryBy ( filter ) ;
255
253
256
- return commitCollection . FirstOrDefault ( c => c . Parents . Contains ( findMergeBase ) ) ;
254
+ var commits = FilterCommits ( filter ) ;
255
+ return commits . FirstOrDefault ( c => c . Parents . Contains ( findMergeBase ) ) ;
257
256
}
258
257
259
258
public bool IsCommitOnBranch ( ICommit ? baseVersionSource , IBranch branch , ICommit firstMatchingCommit )
260
259
{
261
260
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 ) ;
264
263
}
265
264
265
+ private IEnumerable < ICommit > FilterCommits ( CommitFilter filter ) => this . repository . Commits . QueryBy ( filter ) ;
266
+
266
267
public ICommit ? FindMergeBase ( ICommit commit , ICommit mainlineTip ) => this . repository . FindMergeBase ( commit , mainlineTip ) ;
267
268
268
269
private IBranch ? FindBranch ( string branchName ) => this . repository . Branches . FirstOrDefault ( x => x . Name . EquivalentTo ( branchName ) ) ;
0 commit comments