Libgit2Sharp:如何从 Diff.Compare 获取作者详细信息?

Libgit2Sharp : How to get author details from Diff.Compare?

我的要求是比较两个标签并获取有关更改内容的详细信息。为此,我使用以下代码。代码有效,我能够检索添加、删除和修改的文件。但是,我还需要获取对文件进行更新的作者。我如何获得作者? 'TreeChanges' 对象没有作者 属性。

            Tag t1 = tags.Where(t => t.FriendlyName.Equals("10.0.0.01")).First();
            Tree commitTree1 = repo.Lookup<Commit>(t1.PeeledTarget.Id.Sha).Tree;

            Tag t2 = tags.Where(t => t.FriendlyName.Equals("10.0.0.99")).Firs();
            Tree commitTree2 = repo.Lookup<Commit>(t2.PeeledTarget.Id.Sha).Tree;

            var patch = repo.Diff.Compare<TreeChanges>(commitTree1, commitTree2);

谢谢!

The 'TreeChanges' object does not have an author property.

不是因为 "modified" 文件可能在两个标签之间被一位作者修改,然后删除,然后由另一位作者再次添加,然后由第三位作者修改。

您需要列出这两个标签之间的所有提交,检查文件是否是该提交的一部分并获取该提交的作者 (commit.Author),以便找到所有接触过该文件的作者.
参见:

  • ""
  • ""