show version with branch and commit in help and -version

- add -version flag (besides --version and -V)
- help output includes the version
- commit and branch are set via ldflags by goreleaser; plain go build
  falls back to the VCS revision embedded by Go

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Florian WaltherandClaude Opus 5.5 committed 2026-10-03 19:38:48 +02:00
1 parent 03e791cbcd
commit f51680f83c
4 files changed
+79 -7

No files matched your search

+15
View File
@@ -648,6 +648,21 @@ func TestExecInput_ExportNoArgs(t *testing.T) {
}
}
func TestVersionInfo(t *testing.T) {
origVersion, origCommit, origBranch := version, commit, branch
defer func() { version, commit, branch = origVersion, origCommit, origBranch }()
version, commit, branch = "1.2.3", "abc1234", "main"
if got := versionInfo(); got != "1.2.3 (branch: main, commit: abc1234)" {
t.Errorf("versionInfo() = %q", got)
}
branch = ""
if got := versionInfo(); got != "1.2.3 (commit: abc1234)" {
t.Errorf("versionInfo() without branch = %q", got)
}
}
func TestExecInput_Help(t *testing.T) {
// Just verify help doesn't return an error
// We can't easily capture stdout in a unit test without a pipe