使用libgit2 / git2go获取补丁的完整索引

时间:2015-03-04 04:16:42

标签: git go patch libgit2 pygit2

git2go的git.Patch或libgit2的git_patch返回以下格式的String值:

"diff": "diff --git a/test b/test
         index 9daeafb..dced80a 100644  
         --- a/test 
         +++ b/test 
         @@ -1 +1,3 @@  
         test
         +  
         +test"

请注意index 9daeafb..dced80a 100644不是完整索引。无论如何使用libgit2 / git2go返回完整索引?即运行git diff --full-index

的等价性

1 个答案:

答案 0 :(得分:2)

所以我设法获得了一些外界的帮助。如果有人遇到同样的问题,可以使用以下方式返回:

libgit2中的

git_diff_options并将id_abbrev设置为40。 https://libgit2.github.com/libgit2/#HEAD/type/git_diff_options

git2go中的

DiffOptions,并将IdAbbrev设置为40。 https://godoc.org/github.com/libgit2/git2go#DiffOptions