私はコミットを照会しようとしています:
repo.Commits.QueryBy(new LibGit2Sharp.Filter { Since = repo.Refs }).Take(100)
それ以外は問題ありませんが、スタッシュも返します。スタッシュを除外するにはどうすればよいですか? 結果をループしているときに、それらを無視できることはわかっていますが、そうすると、必要な100個の結果が得られません。
私はコミットを照会しようとしています:
repo.Commits.QueryBy(new LibGit2Sharp.Filter { Since = repo.Refs }).Take(100)
それ以外は問題ありませんが、スタッシュも返します。スタッシュを除外するにはどうすればよいですか? 結果をループしているときに、それらを無視できることはわかっていますが、そうすると、必要な100個の結果が得られません。
タイプのSince
およびUntil
プロパティは、Filter
それらが何で評価できるかに関して非常に寛容です。
ドキュメントによると、彼らは
使用するshaまたは参照の正規名を含む文字列、 Branch、Reference、Commit、Tag、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 }