···156156 }157157158158 var modVer string159159+ var sha string160160+ var modified bool161161+159162 for _, mod := range info.Deps {160163 if mod.Path == "tangled.sh/tangled.sh/knotserver" {161161- version = mod.Version164164+ modVer = mod.Version162165 break163166 }164167 }165168169169+ for _, setting := range info.Settings {170170+ switch setting.Key {171171+ case "vcs.revision":172172+ sha = setting.Value173173+ case "vcs.modified":174174+ modified = setting.Value == "true"175175+ }176176+ }177177+166178 if modVer == "" {167167- version = "unknown"179179+ modVer = "unknown"180180+ }181181+182182+ if sha == "" {183183+ version = modVer184184+ } else if modified {185185+ version = fmt.Sprintf("%s (%s with modifications)", modVer, sha)186186+ } else {187187+ version = fmt.Sprintf("%s (%s)", modVer, sha)168188 }169189 }170190