diff options
Diffstat (limited to 'get-version')
-rwxr-xr-x | get-version | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/get-version b/get-version new file mode 100755 index 0000000..e926d88 --- /dev/null +++ b/get-version @@ -0,0 +1,47 @@ +#!/bin/sh +# +# get-version +# +# Copyright © 2009 Guillem Jover <guillem@hadrons.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +# THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +if [ -f .dist-version ]; then + # Get the version from the file distributed in the tarball. + version=$(cat .dist-version) +elif [ -e .git ]; then + # Ger the version from the git repository. + version=$(git describe --tags --always --match [0-9]* 2> /dev/null) + + # Check if we are on a dirty checkout. + git update-index --refresh -q >/dev/null + dirty=$(git diff-index --name-only --ignore-submodules=untracked HEAD 2>/dev/null) + if [ -n "$dirty" ]; then + version="$version-dirty" + fi +else + version=$(date +%F) +fi + +# Use printf to avoid the trailing new line that m4_esyscmd would not handle. +printf "$version" |