2

私はコミットを照会しようとしています:

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

それ以外は問題ありませんが、スタッシュも返します。スタッシュを除外するにはどうすればよいですか? 結果をループしているときに、それらを無視できることはわかっていますが、そうすると、必要な100個の結果が得られません。

4

1 に答える 1

1

タイプのSinceおよびUntilプロパティは、Filterそれらが何で評価できるかに関して非常に寛容です。

ドキュメントによると、彼らは

使用するshaまたは参照の正規名を含む文字列、 BranchReferenceCommitTag、TagAnnotation 、ObjectId、または上記のすべての混合コレクションのいずれかです

基本的には、「コミットでポイントされたものを列挙するときに、リポジトリのすべての参照からrevwalkしたい」Since = repo.Refsという意味です。

これと同様に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 に答える