我正在使用libgit2(git2go - documentation on godoc.org)的Go绑定,我想知道是否有可能获得blob的文件模式(例如“100644”)。
背景:我想解析符号引用,似乎符号链接的文件模式为120000
,符号链接的内容是原始的(相对)路径,我想要得到。
答案 0 :(得分:4)
我刚刚推送了一个将Filemode
条目添加到结构中的提交。我不太清楚为什么在第一次添加时错过了它。
获得var entry TreeEntry
后,您可以使用entry.Filemode
获取该模式。还定义了一些常量,因此您不必使用大八进制数或unix函数。对于符号链接,它是git.FilemodeLink
。
你应该记住这是关于模式和条目类型,因为git不存储权限,你不应该读取任何权限。这些价值观。
答案 1 :(得分:0)
如果我理解你的问题,我很不确定。无论如何,也许你正在寻找:
func Lstat(name string) (fi FileInfo, err error)
Lstat返回描述指定文件的FileInfo。如果文件是符号链接,则返回的FileInfo描述符号链接。 Lstat不会尝试关注该链接。如果有错误,则其类型为* PathError。
func Stat(name string) (fi FileInfo, err error)
Stat返回描述指定文件的FileInfo。如果有错误,则其类型为* PathError。