tint2/get_version.sh

47 lines
1.3 KiB
Bash
Raw Normal View History

2015-04-24 16:45:25 +00:00
#!/bin/sh
2017-03-04 14:19:23 +00:00
MAJOR=0.13
2015-04-25 13:45:38 +00:00
DIRTY=""
if git status 1>/dev/null 2>/dev/null
2015-04-24 17:40:38 +00:00
then
git update-index -q --ignore-submodules --refresh
# Disallow unstaged changes in the working tree
if ! git diff-files --quiet --ignore-submodules --
2015-04-24 22:07:25 +00:00
then
if [ "$1" = "--strict" ]
then
echo >&2 "Error: there are unstaged changes."
git diff-files --name-status -r --ignore-submodules -- >&2
exit 1
else
DIRTY="-dirty"
fi
2015-04-24 22:07:25 +00:00
fi
2015-04-24 17:40:38 +00:00
# Disallow uncommitted changes in the index
if ! git diff-index --cached --quiet HEAD --ignore-submodules --
then
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
DIRTY="-dirty"
fi
fi
VERSION=$(git describe --exact-match 2>/dev/null || echo "$MAJOR-git$(git show -s --pretty=format:%ci | cut -d ' ' -f 1 | tr -d '-').$(git show -s --pretty=format:%h)")$DIRTY
else
VERSION=$(head -n 1 ChangeLog | cut -d ' ' -f 2)
if [ $VERSION = "master" ]
2015-04-24 22:07:25 +00:00
then
VERSION=$VERSION-$(head -n 1 ChangeLog | cut -d ' ' -f 1)
2015-04-24 22:07:25 +00:00
fi
2015-04-24 17:40:38 +00:00
fi
VERSION=$(echo "$VERSION" | sed 's/^v//')
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