Skip to content

Commit 2f48dc5

Browse files
committed
fix: allow manually supplying version/commit again
1 parent 21f4c21 commit 2f48dc5

1 file changed

Lines changed: 27 additions & 19 deletions

File tree

main.go

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ import (
1717
)
1818

1919
var (
20+
// Version contains the application version number. It's set via ldflags
21+
// when building.
22+
Version = ""
23+
24+
// CommitSHA contains the SHA of the commit that this application was built
25+
// against. It's set via ldflags when building.
26+
CommitSHA = ""
27+
2028
env = termenv.EnvColorProfile()
2129
theme Theme
2230

@@ -137,44 +145,44 @@ func findInKey(str string, km map[string]struct{}) bool {
137145
}
138146

139147
func printVersion() {
140-
var version string
141-
var commitSHA string
142-
143148
info, ok := debug.ReadBuildInfo()
144149
var buildTime time.Time
150+
var modified bool
145151
if ok {
146-
vs := strings.Split(info.Main.Version, "-")
147-
if len(vs) >= 1 {
148-
version = vs[0]
149-
}
150-
if len(vs) >= 3 {
151-
commitSHA = vs[2]
152+
if len(Version) == 0 {
153+
vs := strings.Split(info.Main.Version, "-")
154+
if len(vs) >= 1 {
155+
Version = vs[0]
156+
}
152157
}
153158

154159
for _, setting := range info.Settings {
155160
switch setting.Key {
156161
case "vcs.revision":
157-
/*
162+
if len(CommitSHA) == 0 {
158163
CommitSHA = setting.Value
159-
if len(CommitSHA) > 7 {
160-
CommitSHA = CommitSHA[:7]
164+
if len(CommitSHA) > 12 {
165+
CommitSHA = CommitSHA[:12]
161166
}
162-
*/
167+
}
163168
case "vcs.time":
164169
buildTime, _ = time.Parse(time.RFC3339, setting.Value)
165170
case "vcs.modified":
166-
// modified = true
171+
modified = true
167172
}
168173
}
169174
}
170175

171-
if version == "" || version == "(devel)" {
172-
version = "(built from source)"
176+
if Version == "" || Version == "(devel)" {
177+
Version = "(built from source)"
173178
}
174179

175-
fmt.Printf("duf %s", version)
176-
if len(commitSHA) > 0 {
177-
fmt.Printf(" (%s)", commitSHA)
180+
fmt.Printf("duf %s", Version)
181+
if len(CommitSHA) > 0 {
182+
if modified {
183+
CommitSHA += "+modified"
184+
}
185+
fmt.Printf(" (%s)", CommitSHA)
178186
}
179187
if !buildTime.IsZero() {
180188
fmt.Printf(" (built on %s)", buildTime.Format("2006-01-02"))

0 commit comments

Comments
 (0)