blob: 0d392e453809dd40edcf30ce0bd09a2fbbc92810 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/bin/sh
#
# Generate $1 with:
# const char shl_git_head[] = "<git-head-revision>";
# But do not touch $1 if the git-revision is already up-to-date.
#
if test "x$1" = "x" ; then
echo "usage: ./genversion <file>"
exit 1
fi
#
# Check whether this is a valid git repository.
# Set ISGIT to 1=true or 0=false.
#
ISGIT=0
REV=`git rev-parse --git-dir 2>/dev/null`
if test "x$?" = "x0" ; then
ISGIT=1
fi
#
# Check the old revision from $1.
#
if test -f "$1" ; then
OLDREV=`cat "$1"`
else
if test $ISGIT = 0 ; then
echo "WARNING: version file $1 is missing"
echo "const char shl_git_head[] = \"UnknownRevision\";" >"$1"
exit 0
fi
OLDREV=""
fi
#
# Check new revision from "git describe". However, if this is no valid
# git-repository, return success and do nothing.
#
if test $ISGIT = 0 ; then
exit 0
fi
NEWREV=`git describe`
NEWREV="const char shl_git_head[] = \"$NEWREV\";"
#
# Exit if the file is already up to date.
# Otherwise, write the new revision into the file.
#
if test "x$OLDREV" = "x$NEWREV" ; then
exit 0
fi
echo "$NEWREV" >"$1"
|