[英]Libgit2Sharp: Get the list of files between two tags
我们在下面给出了一个Git bash命令,该命令获取github中2个标签之间的提交文件列表,
git log tag1 tag2 --stat
有人可以为其提供等效的Libgit2Sharp代码吗?
试试这个: git log tag1 tag2 --stat
using (var repo = new Repository(@"repoPath"))
{
Tag tagTo = repo.Tags["tag2"];
Tag tagFrom = repo.Tags["tag1"];
var commitFrom = repo.Lookup<LibGit2Sharp.Commit>(tagFrom.Target.Sha);
var commitTo = repo.Lookup<LibGit2Sharp.Commit>(tagTo.Target.Sha);
TreeChanges treeChanges = repo.Diff.Compare<TreeChanges>(commitFrom.Tree, commitTo.Tree);
}
但是,当您只想在标签之间提交时: git log tag1 tag2
可以使用:
using (var repo = new Repository(@"repoPath"))
{
Tag tagTo = repo.Tags["tag2"];
Tag tagFrom = repo.Tags["tag1"];
var filter = new CommitFilter();
filter.IncludeReachableFrom = tagTo.Target.Sha;
filter.ExcludeReachableFrom = tagFrom.Target.Sha;
var commits = repo.Commits.QueryBy(filter).ToList();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.