summaryrefslogtreecommitdiff
path: root/mkreleasehdr.sh
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2010-05-18 00:36:48 +0200
committerantirez <antirez@gmail.com>2010-05-18 00:36:48 +0200
commit73287b2b576fa6a1ff1b61467286cbd5458881d2 (patch)
tree48ecb7bb09f2e0dd4bf2ea8b581dca8afd8659d1 /mkreleasehdr.sh
parent5436146c8dcd95c5ef3809f2830fb9c08edc4177 (diff)
downloadredis-73287b2b576fa6a1ff1b61467286cbd5458881d2.tar.gz
buliding of release.h moved into an external script. Avoided recompialtion of redis.c if git sha1 is the same as the previous one
Diffstat (limited to 'mkreleasehdr.sh')
-rwxr-xr-xmkreleasehdr.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/mkreleasehdr.sh b/mkreleasehdr.sh
new file mode 100755
index 000000000..972904373
--- /dev/null
+++ b/mkreleasehdr.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+GIT_SHA1=$((git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1)
+GIT_DIRTY=$(git status -s 2> /dev/null | wc -l)
+test -f release.h || touch release.h
+(cat release.h | grep SHA1 | grep $GIT_SHA1) && \
+(cat release.h | grep DIRTY | grep $GIT_DIRTY) && exit 0 # Already uptodate
+echo "#define REDIS_GIT_SHA1 \"$GIT_SHA1\"" > release.h
+echo "#define REDIS_GIT_DIRTY $GIT_DIRTY" >> release.h
+touch redis.c # force recompile of redis.c