learnlytics-go/templ/get-version/main.go
2025-03-20 12:35:13 +01:00

30 lines
580 B
Go

package main
import (
"fmt"
"log"
"os/exec"
"strconv"
"strings"
)
func main() {
gitPath, err := exec.LookPath("git")
if err != nil {
log.Fatalf("failed to find git on path: %v", err)
}
cmd := exec.Command(gitPath, "rev-list", "main", "--count")
output, err := cmd.Output()
if err != nil {
log.Fatalf("failed to run git: %v", err)
}
count, err := strconv.Atoi(strings.TrimSpace(string(output)))
if err != nil {
log.Fatalf("failed to parse git output: %v", err)
}
// The current commit isn't the one we're about to commit.
fmt.Printf("0.3.%d", count+1)
}