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