It's possible to obtain the number of commits behind/ahead using git rev-list
command. I am trying to achieve the same thing using libgit2sharp
library but the library is not fully documented so I couldn't find how to.
I'm looking for an example for obtaining behind/ahead commit numbers with libgit2sharp
.
Completing the answer given by Jason Haslam... This is an example of how to use HistoryDivergence
to get the number of commits ahead and behind of each branch:
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");
}
}