This change includes a few fixes to the version.sh script, in order to
unify the versions generated from git vs. dev- versions. We unify on a
simple YYYYMMDD format, and drop the time specifier (if you're relying
on time info, you probably have the git SHAs to lookup from instead).
We also clean up the date-generation code, by using printf's %T
formatter, on git's %ct time specification, rather than trying to
transform a %ci date.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
# version.sh: create a version string for use by configure.ac
version=
# version.sh: create a version string for use by configure.ac
version=
-if head=$(git rev-parse --short --verify HEAD 2>/dev/null); then
+if head=$(git rev-parse --short=8 --verify HEAD 2>/dev/null); then
- # If available, use the git commit revision for the package version.
+ # If available, use the git commit revision for the package version,
+ # and add a date prefix for easy comparisons.
- # 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})
+ date=$(git log --pretty=format:"%ct" -1 HEAD)
# Add a '-dirty' postfix for uncommitted changes.
# Add a '-dirty' postfix for uncommitted changes.
if git diff-index HEAD | read dummy; then
if git diff-index HEAD | read dummy; then
- version=`printf '%s%s' ${version} -dirty`
+
+ version=$(printf "%($datefmt)T-g%s%s" ${date} ${head} ${suffix})
else
# Default to current date and time.
else
# Default to current date and time.
-
- version="dev-$(date +%y.%m.%d-%H.%M.%S)"
+ version="$(date +dev-$datefmt)"