我正在尝试从 git 标签获取文件树,一切正常,直到我发现一些标签没有注释,因此不是 TagObject
这是我当前的代码:
var obj *plumbing.Reference
obj, err = r.Tag(tag)
checkError(err)
var t *object.Tag
t, err = r.TagObject(obj.Hash())
checkError(err)
var tree *object.Tree
tree, err = t.Tree()
checkError(err)
但现在我必须将其更改为以下内容才能访问轻量级标签
var obj *plumbing.Reference
obj, err = r.Tag(tag)
checkError(err)
var t *plumbing.Reference
t, err = r.Tag(obj.Name().String())
checkError(err)
var tree *object.Tree
tree, err = t.Tree()
checkError(err)
第三部分 (tree, err = t.Tree()) 当然不再起作用,因为 *plumbing.Reference 没有字段或方法 Tree
有什么办法可以从
t, err = r.Tag(obj.Name().String())
得到一棵树?