summaryrefslogtreecommitdiffstats
path: root/script/get_git_rev.sh
blob: 1e36b6f76a44da4ca03b1e67cd76793c73a39f04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env bash

DIR=$1
FILE=$2
GIT=$(which git)

if [ -d "${DIR}/.git/" ] && [ -n "${GIT}" ]
then
    echo -n "#define GIT_VERSION \""  > ${FILE}.tmp
    BRTG="$(${GIT} describe --tags --always --all | sed -e 's:heads/::')"
    REV="$(${GIT} describe --tags --always --dirty| sed -e 's:-g\([a-f0-9]\{7\}\):-git-\1:g')"
    echo -n "${REV} (${BRTG})" >> ${FILE}.tmp
    echo "\"" >> ${FILE}.tmp
else
    echo "#undef GIT_VERSION" > ${FILE}.tmp
fi

if [ ! -f ${FILE} ] || ! diff ${FILE}.tmp ${FILE} > /dev/null
then
    mv ${FILE}.tmp ${FILE}
else
    rm ${FILE}.tmp
fi