2023-01-27 21:37:20 +00:00
|
|
|
// Copyright (c) Tailscale Inc & AUTHORS
|
|
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
2020-10-27 04:23:58 +00:00
|
|
|
|
|
|
|
package version
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"runtime"
|
|
|
|
"strings"
|
|
|
|
)
|
|
|
|
|
|
|
|
func String() string {
|
|
|
|
var ret strings.Builder
|
|
|
|
ret.WriteString(Short)
|
|
|
|
ret.WriteByte('\n')
|
2023-01-13 14:15:07 +00:00
|
|
|
if IsUnstableBuild() {
|
|
|
|
fmt.Fprintf(&ret, " track: unstable (dev); frequent updates and bugs are likely\n")
|
|
|
|
}
|
2020-10-27 04:23:58 +00:00
|
|
|
if GitCommit != "" {
|
2022-03-16 20:55:23 +00:00
|
|
|
var dirty string
|
|
|
|
if GitDirty {
|
|
|
|
dirty = "-dirty"
|
|
|
|
}
|
|
|
|
fmt.Fprintf(&ret, " tailscale commit: %s%s\n", GitCommit, dirty)
|
2020-10-27 04:23:58 +00:00
|
|
|
}
|
|
|
|
if ExtraGitCommit != "" {
|
|
|
|
fmt.Fprintf(&ret, " other commit: %s\n", ExtraGitCommit)
|
|
|
|
}
|
|
|
|
fmt.Fprintf(&ret, " go version: %s\n", runtime.Version())
|
|
|
|
return strings.TrimSpace(ret.String())
|
|
|
|
}
|