From 75c2a2084dd98676b100c48225ffb679bbff633d Mon Sep 17 00:00:00 2001 From: o9000 Date: Thu, 21 Dec 2017 17:25:33 +0100 Subject: [PATCH] get_version.sh: allow running outside source tree --- get_version.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/get_version.sh b/get_version.sh index 473c9f0..7e545b0 100755 --- a/get_version.sh +++ b/get_version.sh @@ -4,7 +4,10 @@ SCRIPT_DIR=$(dirname "$0") DIRTY="" VERSION="" -if [ -d ${SCRIPT_DIR}/.git ] && git status 1>/dev/null 2>/dev/null +OLD_DIR=$(pwd) +cd ${SCRIPT_DIR} + +if [ -d .git ] && git status 1>/dev/null 2>/dev/null then git update-index -q --ignore-submodules --refresh # Disallow unstaged changes in the working tree @@ -37,10 +40,10 @@ then VERSION=$(git describe 2>/dev/null)$DIRTY elif git log -n 1 1>/dev/null 2>/dev/null then - VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2) + VERSION=$(head -n 1 "ChangeLog" | cut -d ' ' -f 2) if [ "$VERSION" = "master" ] then - PREVIOUS=$(grep '^2' "${SCRIPT_DIR}/ChangeLog" | head -n 2 | tail -n 1 | cut -d ' ' -f 2) + PREVIOUS=$(grep '^2' "ChangeLog" | head -n 2 | tail -n 1 | cut -d ' ' -f 2) HASH=$(git log -n 1 --pretty=format:%cI.%ct.%h | tr -d ':' | tr -d '-' | tr '.' '-' | sed 's/T[0-9\+]*//g' 2>/dev/null) VERSION=$PREVIOUS-next-$HASH fi @@ -49,13 +52,15 @@ fi if [ -z "$VERSION" ] then - VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2) + VERSION=$(head -n 1 "ChangeLog" | cut -d ' ' -f 2) if [ "$VERSION" = "master" ] then - VERSION=$VERSION-$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 1) + VERSION=$VERSION-$(head -n 1 "ChangeLog" | cut -d ' ' -f 1) fi fi +cd "${OLD_DIR}" + VERSION=$(echo "$VERSION" | sed 's/^v//') echo '#define VERSION_STRING "'$VERSION'"' > version.h