tint2/get_version.sh

37 lines
995 B
Bash
Raw Normal View History

2015-04-24 16:45:25 +00:00
#!/bin/sh
2015-07-12 12:35:51 +00:00
MAJOR=0.12
2015-04-25 13:45:38 +00:00
DIRTY=""
2015-04-24 17:40:38 +00:00
git update-index -q --ignore-submodules --refresh
# Disallow unstaged changes in the working tree
if ! git diff-files --quiet --ignore-submodules --
then
2015-04-24 22:07:25 +00:00
if [ "$1" = "--strict" ]
then
echo >&2 "Error: there are unstaged changes."
git diff-files --name-status -r --ignore-submodules -- >&2
exit 1
else
2015-04-25 13:45:38 +00:00
DIRTY="-dirty"
2015-04-24 22:07:25 +00:00
fi
2015-04-24 17:40:38 +00:00
fi
# Disallow uncommitted changes in the index
if ! git diff-index --cached --quiet HEAD --ignore-submodules --
then
2015-04-24 22:07:25 +00:00
if [ "$1" = "--strict" ]
then
echo >&2 "Error: there are uncommitted changes."
git diff-index --cached --name-status -r --ignore-submodules HEAD -- >&2
exit 1
else
2015-04-25 13:45:38 +00:00
DIRTY="-dirty"
2015-04-24 22:07:25 +00:00
fi
2015-04-24 17:40:38 +00:00
fi
2015-07-12 12:35:51 +00:00
VERSION=$(git describe --exact-match 2>/dev/null || echo "$MAJOR-git$(git show -s --pretty=format:%cI.%h | tr -d ':' | tr -d '-' | tr '.' '-' | sed 's/T[0-9\+]*//g')")$DIRTY
2015-04-25 13:45:38 +00:00
echo '#define VERSION_STRING "'$VERSION'"' > version.h
2015-04-25 20:57:06 +00:00
echo $VERSION