我正在做一个循环:
using LibGit2Sharp;
var filter = new Filter { Since = repo.Refs };
IEnumerable<Commit> commits = repo.Commits.QueryBy(filter);
foreach (Commit commit in commits)
{
//Do stuff...
}
它工作正常,但有没有办法限制结果数量?例如,我想获得最新的100次提交,而忘记旧的提交。
答案 0 :(得分:3)
如何使用LINQ的Take
var commits = repo.Commits.QueryBy(new LibGit2Sharp.CommitFilter{ Since = repo.Refs });
foreach (LibGit2Sharp.Commit commit in commits.Take(100))
{
//...
}
检查CommitCollection的代码,它似乎真的只返回100次提交(所以它不会全部查找,然后取100)。
您可以使用Filter.SortBy
属性设置所需的排序顺序。