如何使用 libgit2sharp 获取提交数 behind/ahead?

How to obtain number of commits behind/ahead with libgit2sharp?

可以使用git rev-list 命令获取提交数behind/ahead。我正在尝试使用 libgit2sharp 库来实现相同的目的,但是该库没有完整的文档记录,所以我找不到如何去做。

我正在寻找使用 libgit2sharp.

获取 behind/ahead 提交编号的示例

看看 HistoryDivergence class。它改编了 libgit2 中的 git_graph_ahead_behind 函数。

完成 Jason Haslam 给出的答案...这是一个如何使用 HistoryDivergence 获取每个分支前后提交数的示例:

using (var repo = new Repository("/path/to/repo"))
{
     foreach (Branch b in repo.Branches)
     {
               // if branch does not have a remote b.TrackingDetails.AheadBy and b.TrackingDetails.BehindBy will be both null
               var commitsAhead = b.TrackingDetails.AheadBy;
               var commitsBehind = b.TrackingDetails.BehindBy;
               Console.WriteLine($"Branch {b.FriendlyName} is {commitsAhead} ahead and {commitsBehind} behind");
      }
}