首页 > 解决方案 > go-git 从轻量级标签中获取树

问题描述

我正在尝试从 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())

得到一棵树?

标签: gogo-git

解决方案


推荐阅读