From 276e7fc2f9d6423a0771aae7b918731d30e96b7d Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sun, 20 Dec 2009 17:42:09 +0100 Subject: proper commit hash setting --- hash.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) mode change 100644 => 100755 hash.sh (limited to 'hash.sh') diff --git a/hash.sh b/hash.sh old mode 100644 new mode 100755 index e936313..0c97722 --- a/hash.sh +++ b/hash.sh @@ -1,3 +1,25 @@ #!/bin/sh # script to determine git hash of current source tree -FROM_ARCHIVE=$Format:%H$ # set when running git --archive \ No newline at end of file + +# set a variable when running `git --archive ` (this is what github does) +# alternatively, you could also git get-tar-commit-id < tarball (but that's a bit dirtier) +FROM_ARCHIVE=$Format:%H$ + +# ... but try to use whatever git tells us if there is a .git folder +if [ -d .git -a -r .git ] +then + hash=$(git log 2>/dev/null | head -n1 2>/dev/null | sed "s/.* //" 2>/dev/null) +fi + +if [ x"$hash" != x ] +then + echo $hash +elif [ "$FROM_ARCHIVE" != ':%H$' ] +then + echo $FROM_ARCHIVE +else + echo "commit hash detection fail. Dear packager, please figure out what goes wrong or get in touch with us" >&2 + echo UNKNOWN + exit 2 +fi +exit 0 -- cgit v1.2.3