@@ -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 ) . ToArray ( ) ;
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 ) ) ;
0 commit comments