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

C# Libgit2Sharp:如何从Diff.Compare获取作者详细信息?,c#,git,libgit2sharp,C#,Git,Libgit2sharp,我的要求是比较两个标签,并获得更改内容的详细信息。为此,我使用下面的代码。代码运行正常,我能够检索添加、删除和修改的文件。但是,我还需要获得对文件进行更新的作者。我怎样才能找到作者?“TreeChanges”对象没有作者属性 Tag t1 = tags.Where(t => t.FriendlyName.Equals("10.0.0.01")).First(); Tree commitTree1 = repo.Lookup<Commit

我的要求是比较两个标签,并获得更改内容的详细信息。为此,我使用下面的代码。代码运行正常,我能够检索添加、删除和修改的文件。但是,我还需要获得对文件进行更新的作者。我怎样才能找到作者?“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);
tagt1=tags.Where(t=>t.FriendlyName.Equals(“10.0.0.01”)).First();
Tree commitTree1=repo.Lookup(t1.PeeledTarget.Id.Sha).Tree;
tagt2=tags.Where(t=>t.FriendlyName.Equals(“10.0.0.99”)).Firs();
treeCommittree2=repo.Lookup(t2.PeeledTarget.Id.Sha).Tree;
var patch=回购差异比较(commitTree1,commitTree2);
谢谢

“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);
这不是因为一个“修改过的”文件可能在两个标记之间被一个作者修改,然后被删除,然后被另一个作者再次添加,然后被第三个作者修改

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

  • “”
  • “”

谢谢您的回复。但是,当我尝试创建CommitFilter对象时,我得到一个编译时错误,该错误表示CommitFilter不包含“自”和“直到”的定义@TonyP是的,它们已被和删除:使用ligbit2sharp v0.22或更高版本的
IncludeReachableFrom
ExcludeReachableFrom
。谢谢!使用IncludeReachableFrom&ExcludeReachableFrom@TonyP伟大的你能用最后的代码编辑这个答案吗?