我正在使用一个开源项目(vcsshark),它适用pygit2
于从 git 存储库中提取信息并将其存储在 mangodb 数据集中。我发现这个提交pygit2
的文件重命名和 GitHub之间存在一些冲突。在 GitHub 中,它在该提交中显示 2040 个文件重命名,pygit2
使用以下代码显示 2988 个补丁:
import pygit2
repo = pygit2.Repository('/cayenne')
a = repo.revparse_single('ae98b6c41')
b = a.parents[0]
diff = repo.diff(b, a)
diff.find_similar(pygit2.GIT_DIFF_FIND_RENAMES)
patches = [p for p in diff]
我认为这种冲突是由于参数设置,如rename_threshold
. pygit2.Diff.find_similar()
但是,这不是原因。
我尝试diff
了 command from GitPython
,发现它的结果与 GitHub 匹配。但是,vcsshark
基于pygit2
我必须找到一种方法来pygit2
返回与 GitHub 和GitPython
.