如何在查询引用时排除存储?

时间:2012-05-31 16:49:09

标签: c# libgit2 libgit2sharp

我正在尝试查询提交:

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

这是好的,但它也会返回藏匿处。我怎样才能排除藏匿处?我知道,当我循环结果时,我可以忽略它们,但我接下来就不会有我想要的100个。

1 个答案:

答案 0 :(得分:1)

Since类型的UntilFilter属性对于它们可以被重视的内容非常宽容。

根据他们的文件

  

可以是字符串,包含要使用的sha或引用规范名称,   分支参考提交标记,    TagAnnotation ObjectId ,甚至是上述所有内容的混合集合。

基本上,Since = repo.Refs表示“我想在枚举指向的提交时>从存储库的每个引用中撤消。

git log --all类似,这确实会考虑分支标记 stash notes < / em>,...

如果您愿意缩小参考范围,则必须选择重要的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 }