aboutsummaryrefslogtreecommitdiffhomepage
path: root/misc
diff options
context:
space:
mode:
authorGravatar Dieter Plaetinck <dieter@plaetinck.be>2010-01-01 18:14:22 +0100
committerGravatar Dieter Plaetinck <dieter@plaetinck.be>2010-01-01 18:14:22 +0100
commita2ddc36070d9478d3a75e3aa80760e4016ba59d2 (patch)
tree008c3fd83c626e2a2a85c80a6b314af02a0c8723 /misc
parent9816975a1c7207cf98dccc04a38297d7b681201a (diff)
hash.sh -> misc/hash.sh
Diffstat (limited to 'misc')
-rwxr-xr-xmisc/hash.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/misc/hash.sh b/misc/hash.sh
new file mode 100755
index 0000000..0c97722
--- /dev/null
+++ b/misc/hash.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# script to determine git hash of current source tree
+
+# set a variable when running `git --archive <hash/tag>` (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