knotserver: show build-time vcs revision info in /version #548

merged
opened by nasso.dev targeting master from nasso.dev/core: nasso/push-rmtwrrwlwnnl

I also noticed the modVer variable was never modified, which I assume was not intentional? The if branch below was always taken.

Changed files
+22 -2
knotserver
+22 -2
knotserver/routes.go
···
}
var modVer string
+
var sha string
+
var modified bool
+
for _, mod := range info.Deps {
if mod.Path == "tangled.sh/tangled.sh/knotserver" {
-
version = mod.Version
+
modVer = mod.Version
break
}
}
+
for _, setting := range info.Settings {
+
switch setting.Key {
+
case "vcs.revision":
+
sha = setting.Value
+
case "vcs.modified":
+
modified = setting.Value == "true"
+
}
+
}
+
if modVer == "" {
-
version = "unknown"
+
modVer = "unknown"
+
}
+
+
if sha == "" {
+
version = modVer
+
} else if modified {
+
version = fmt.Sprintf("%s (%s with modifications)", modVer, sha)
+
} else {
+
version = fmt.Sprintf("%s (%s)", modVer, sha)
}
}