繁体   English   中英

Libgit2Sharp:获取两个标签之间的文件列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM