Include commit hash if possible in versioning script, if a non-stable tree is compiled
o9000 mrovi9000@gmail.com
1 files changed,
16 insertions(+),
10 deletions(-)
jump to
M
get_version.sh
→
get_version.sh
@@ -2,6 +2,7 @@ #!/bin/sh
SCRIPT_DIR=$(dirname "$0") DIRTY="" +VERSION="" if [ -d ${SCRIPT_DIR}/.git ] && git status 1>/dev/null 2>/dev/null then@@ -31,24 +32,29 @@ else
DIRTY="-dirty" fi fi - VERSION=$(git describe 2>/dev/null)$DIRTY -elif [ -d ${SCRIPT_DIR}/.git ] && git log -n 1 1>/dev/null 2>/dev/null -then - VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2) - if [ "$VERSION" = "master" ] + if git describe 1>/dev/null 2>/dev/null + then + VERSION=$(git describe 2>/dev/null)$DIRTY + elif git log -n 1 1>/dev/null 2>/dev/null then - PREVIOUS=$(grep '^2' "${SCRIPT_DIR}/ChangeLog" | head -n 2 | tail -n 1 | cut -d ' ' -f 2) - HASH=$(git log -n 1 --pretty=format:"%h" 2>/dev/null) - VERSION=$PREVIOUS-$HASH + VERSION=$(head -n 1 "${SCRIPT_DIR}/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) + HASH=$(git log -n 1 --pretty=format:"%h" 2>/dev/null) + VERSION=$PREVIOUS-$HASH + fi fi -else +fi + +if [ -z "$VERSION" ] +then VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2) if [ "$VERSION" = "master" ] then VERSION=$VERSION-$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 1) fi fi - VERSION=$(echo "$VERSION" | sed 's/^v//')