1#!/bin/sh
2
3DIR=$1
4FILE=$2
5GIT=$(which git)
6
7if [ -d "${DIR}/.git/" ] && [ -n "${GIT}" ]
8then
9    echo -n "#define GIT_VERSION \""  > ${FILE}.tmp
10    BRTG="$(${GIT} describe --tags --always --all | sed -e 's:heads/::')"
11    REV="$(${GIT} describe --tags --always --dirty| sed -e 's:-g\([a-f0-9]\{7\}\):-git-\1:g')"
12    echo -n "${REV} (${BRTG})" >> ${FILE}.tmp
13    echo "\"" >> ${FILE}.tmp
14else
15    echo "#undef GIT_VERSION" > ${FILE}.tmp
16fi
17
18if [ ! -f ${FILE} ] || ! diff ${FILE}.tmp ${FILE} > /dev/null
19then
20    mv ${FILE}.tmp ${FILE}
21else
22    rm ${FILE}.tmp
23fi
24