3

我正在做一个循环:

using LibGit2Sharp;

var filter = new Filter { Since = repo.Refs };
IEnumerable<Commit> commits = repo.Commits.QueryBy(filter);

foreach (Commit commit in commits)
{
     //Do stuff...
}

它工作正常,但有没有办法可以限制结果的数量?例如,我想获得最新的 100 个提交,而忘记旧的。

4

1 回答 1

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您可以使用该属性设置所需的排序顺序。

于 2012-05-11T17:25:48.833 回答