X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=version.sh;h=f3e6268ca344e263b669b089364e230e471c1124;hp=4d96d11250beb4351c1d9a190f27533c6383116f;hb=70907c3fc4b344d00ce900e6a536e9cc16a35216;hpb=5a3a05b2b0c0d417a2a5ab57a0caaa0e6b7a26af diff --git a/version.sh b/version.sh index 4d96d11..f3e6268 100755 --- a/version.sh +++ b/version.sh @@ -5,23 +5,29 @@ version= 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. +export GIT_DIR=$(basename $0)/.git/ - date=$(git log --pretty=format:"%ct" -1 HEAD) +if head=$(git rev-parse --short=8 --verify HEAD 2>/dev/null); then 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 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)" + version="$(date +dev.$datefmt)" fi echo $version