X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=version.sh;h=f3e6268ca344e263b669b089364e230e471c1124;hp=eed8d3a72f4981761614b215df49a995d1e3a3ab;hb=8fa3f3bd22e66329ac0dd65a82bf8eb554e2364d;hpb=e39ce1c5ae8bd4bcd5a6e6997d994919f402fcf6 diff --git a/version.sh b/version.sh index eed8d3a..f3e6268 100755 --- a/version.sh +++ b/version.sh @@ -3,32 +3,31 @@ # version.sh: create a version string for use by configure.ac version= +datefmt='%Y%m%d' -if head=$(git rev-parse --short --verify HEAD 2>/dev/null); then +export GIT_DIR=$(basename $0)/.git/ - # If available, use the git commit revision for the package version. - - # Add a date prefix for easy reading. - # date='2010-11-30 16:36:09 -0800' - - date=$(git log --pretty=format:"%ci" -1 HEAD) - date=${date##20} - date=${date%%:[0-9][0-9] *} - date=${date//-/.} - date=${date// /.} - date=${date//:/.} - - version=$(printf '%s-%s%s' ${date} g ${head}) - - # Add a '-dirty' postfix for uncommitted changes. +if head=$(git rev-parse --short=8 --verify HEAD 2>/dev/null); then + suffix='' + # Add a '-dirty' suffix for uncommitted changes. if git diff-index HEAD | read dummy; then - version=`printf '%s%s' ${version} -dirty` + suffix=-dirty + fi + + 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="dev-$(date +%y.%m.%d-%H.%M.%S)" + version="$(date +dev.$datefmt)" fi echo $version