Skip to content

Automatic version from git to go

License

Notifications You must be signed in to change notification settings

gotamer/version

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Go v1.9 Go Report Card GoDoc

Package version gets version information from git to go

 ..|'''.|   ||    .         ..|'''.|
.|'     '  ...  .||.   /\  .|'     '    ...
||    ....  ||   ||   (  ) ||    .... .|  '|.
'|.    ||   ||   ||     // '|.    ||  ||   ||
 ''|...'|  .||.  '|.'  //   ''|...'|   '|..|'
                      /(
                      {___

'||'  '|'                         ||
 '|.  .'    ....  ... ..   ....  ...    ...   .. ...
  ||  |   .|...||  ||' '' ||. '   ||  .|  '|.  ||  ||
   |||    ||       ||     . '|..  ||  ||   ||  ||  ||
    |      '|...' .||.    |'..|' .||.  '|..|' .||. ||.

FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Version runs git describe --always --long --tags --dirty and formats that info by default to stdout for you to view or pipe, or optionally in to a file (version.go) (see sample output below)

If you rather not include another package in your app then see verup. verup is a cmd you can execute at your main/cmd apps folder and it will do the same thing.

$ cat version.go

package main

//VarModTime is a UTC Unix time stamp
const VerModTime = 1530896805

//VarLong is the full version from Git command output
const VerLong = "0.2-14-g1051a2c-dirty"

//VarDirty means app was build with a git dir that contained modifications which had not been committed.
const VerDirty = true

//VarGit is the 7 hexadecimal digits version from Git.
const VerGit = "g1051a2c"

//VarTag is the Tag version from Git.
const VerTag = "0.2"

Alternative:

https://belief-driven-design.com/build-time-variables-in-go-51439b26ef9