intake/core/info.go

25 lines
532 B
Go

package core
import "runtime/debug"
// Set via -ldflags "-X github.com/Jaculabilis/intake/core.Commit=..."
var Commit string = ""
func GetRevInfo() (rev string) {
rev = Commit
if rev == "" {
// No build data embedded, try from runtime/debug
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
rev = setting.Value + rev
}
if setting.Key == "vcs.modified" && setting.Value == "true" {
rev = rev + "-dirty"
}
}
}
}
return
}