我使用 NGit 和 C# 从我们的 repo 中获取数据
我试图弄清楚如何从当前分支获取 repo 中子文件夹的提交计数。
类似的东西(但支持子文件夹)
git rev-list --count HEAD
编辑:这行得通,但感觉必须有更好更快的方法。对于大型回购,这需要时间才能完成
var git = Git.Open(@"repoPath");
var allCommits = git.Log().Call().OrderBy(c => c.CommitTime);
var commit = git.Log().AddPath("SubPath").Call().OrderByDescending(c => c.CommitTime).First();
var index = allCommits
.Select((c, i) => new {Commit = c, Index = i})
.First(c => c.Commit.Id.Name == commit.Id.Name)
.Index;