我有以下代码
commitIter, err := r.Log(&git.LogOptions{From: commit.Hash})
CheckIfError(err)
err = commitIter.ForEach(func(c *object.Commit) error {
parent, err := c.Parent(0)
if err != nil {
return nil
}
patch, err := c.Patch(parent)
CheckIfError(err)
fmt.Println(patch)
return nil
})
它遍历所有提交并使用对父级的引用为每个提交生成补丁。但是第一次提交没有父级,然后我无法生成补丁。有没有像传递空提交这样的解决方法?
我正在搜索,我在归档go-git
存储库上找到了 open pull request 。