aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--internal/build/env.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/build/env.go b/internal/build/env.go
index 95f00035d..a3017182e 100644
--- a/internal/build/env.go
+++ b/internal/build/env.go
@@ -20,6 +20,7 @@ import (
"flag"
"fmt"
"os"
+ "regexp"
"strconv"
"strings"
"time"
@@ -99,6 +100,13 @@ func LocalEnv() Environment {
if fields := strings.Fields(head); len(fields) == 2 {
head = fields[1]
} else {
+ // In this case we are in "detached head" state
+ // see: https://git-scm.com/docs/git-checkout#_detached_head
+ // Additional check required to verify, that file contains commit hash
+ commitRe, _ := regexp.Compile("^([0-9a-f]{40})$")
+ if commit := commitRe.FindString(head); commit != "" && env.Commit == "" {
+ env.Commit = commit
+ }
return env
}
if env.Commit == "" {