如何使用 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");
}
}
可以使用git rev-list
命令获取提交数behind/ahead。我正在尝试使用 libgit2sharp
库来实现相同的目的,但是该库没有完整的文档记录,所以我找不到如何去做。
我正在寻找使用 libgit2sharp
.
看看 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");
}
}