File: get_git_rev.sh

package info (click to toggle)
rofi 2.0.0-0.2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,472 kB
  • sloc: ansic: 36,245; lex: 957; yacc: 920; xml: 858; sh: 384; makefile: 17
file content (24 lines) | stat: -rwxr-xr-x 624 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env bash

DIR=$1
FILE=$2
GIT=$(command -v git)
SED=$(command -v sed)

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