I am trying to get the latest github tag from my local repository in golang. For now I am getting all the tags, code is below:
repo, err := git.OpenRepository("/home/defiant/Temp/repo")
checkErr(err)
re, err := repo.Tags.List()
checkErr(err)
fmt.Println(re)
The result returned is of the format:
[0.1 1.3 1.4]
Here 1.3 is the latest tag. So can someone please help me out in getting only the latest tag?
答案 0 :(得分:0)
您要寻找的位是signature
对象(它有一个when
字段)。在提交时,您可能对author
或committer
感兴趣。如果您自己使用annotated
标记-它们具有tagger
字段,即标记提交的时间。
如果您只有带注释的标记(即没有轻量级标记),则应该为标记获取时间戳:
repo, err := git.OpenRepository("/home/defiant/Temp/repo")
if err != nil {
panic(err)
}
err = repo.Tags.Foreach(func(name string, id *git.Oid) error {
tag, err := repo.LookupTag(id)
if err != nil {
return err
}
log.Info(tag.Tagger().When)
return nil
})
使用轻量级标签,您将需要直接解决提交问题-您应该能够使用LookupCommit
并明确选择committer
或author
。