限制在 LibGit2Sharp 中查询的提交数量

本文关键字:提交 查询 LibGit2Sharp | 更新日期: 2023-09-27 18:34:05

我正在做一个循环:

using LibGit2Sharp;
var filter = new Filter { Since = repo.Refs };
IEnumerable<Commit> commits = repo.Commits.QueryBy(filter);
foreach (Commit commit in commits)
{
     //Do stuff...
}

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

限制在 LibGit2Sharp 中查询的提交数量

如何使用 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 属性设置所需的排序顺序。