2

我正在尝试查询提交:

repo.Commits.QueryBy(new LibGit2Sharp.Filter { Since = repo.Refs }).Take(100)

否则没关系,但它也会返回 stash。我怎样才能排除藏匿处?我知道,当我遍历结果时,我猜我可以忽略它们,但是我不会像我想要的那样拥有 100 个。

4

1 回答 1

1

类型的SinceUntil属性Filter对于它们的价值是相当宽容的。

根据他们的文件

可以是包含要使用的 sha 或引用规范名称的字符串、 BranchReferenceCommitTagTagAnnotationObjectId,甚至是上述所有内容的混合集合。

基本上,Since = repo.Refs意味着“在枚举指向的提交时,我想从存储库的每个引用中进行 revwalk” 。

与此类似,git log --all确实会考虑分支标签存储注释……

如果您愿意缩小参考范围,则必须选择Since要重视的内容。

  • Since = repo.Branches.Where(b => !b.IsRemote)
  • Since = new object[] { repo.Branches["br2"], "refs/heads/master", new ObjectId("e90810b") }

例如,为了只考虑分支和标签,您可以使用

Since = new object[]{ repo.Branches, repo.Tags }

于 2012-05-31T19:59:37.950 回答