diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2014-03-14 11:06:10 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2014-07-16 08:43:09 +0800 |
commit | 1060f29056dc0365df63553ab0b225055c8c516d (patch) | |
tree | 27e82b04a4eb5a9d5df7773ba58298d3410f77d1 | |
parent | 5a3a05b2b0c0d417a2a5ab57a0caaa0e6b7a26af (diff) | |
download | petitboot-1060f29056dc0365df63553ab0b225055c8c516d.zip petitboot-1060f29056dc0365df63553ab0b225055c8c516d.tar.gz |
version.sh: Use git tags in versions
If the current HEAD is tagged, we'd like to use that tag as the version.
We remove a 'v' prefix, so that v1.0 -> 1.0
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rwxr-xr-x | version.sh | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -7,18 +7,22 @@ datefmt='%Y%m%d' if head=$(git rev-parse --short=8 --verify HEAD 2>/dev/null); then - # If available, use the git commit revision for the package version, - # and add a date prefix for easy comparisons. - - date=$(git log --pretty=format:"%ct" -1 HEAD) - suffix='' - # Add a '-dirty' postfix for uncommitted changes. + # Add a '-dirty' suffix for uncommitted changes. if git diff-index HEAD | read dummy; then suffix=-dirty fi - version=$(printf "%($datefmt)T-g%s%s" ${date} ${head} ${suffix}) + if tag=$(git describe --tags --exact-match 2>/dev/null); then + # use a tag; remove any 'v' prefix from v<VERSION> tags + tag=${tag#v} + version=$(printf "%s%s" ${tag} ${suffix}) + else + # Use the git commit revision for the package version, and add + # a date prefix for easy comparisons. + date=$(git log --pretty=format:"%ct" -1 HEAD) + version=$(printf "%($datefmt)T-g%s%s" ${date} ${head} ${suffix}) + fi else # Default to current date and time. version="$(date +dev-$datefmt)" |