summaryrefslogtreecommitdiff
path: root/playbooks/roles/src/templates/volumes/data/hooks/update
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/src/templates/volumes/data/hooks/update')
-rwxr-xr-xplaybooks/roles/src/templates/volumes/data/hooks/update37
1 files changed, 37 insertions, 0 deletions
diff --git a/playbooks/roles/src/templates/volumes/data/hooks/update b/playbooks/roles/src/templates/volumes/data/hooks/update
new file mode 100755
index 0000000..a11d3e5
--- /dev/null
+++ b/playbooks/roles/src/templates/volumes/data/hooks/update
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# Safety check
+if [ -z "$GIT_DIR" ]; then
+ echo "Don't run this script from the command line." >&2
+ echo " (if you want, you could supply GIT_DIR then run" >&2
+ echo " $0 <ref> <oldrev> <newrev>)" >&2
+ exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+ echo "usage: $0 <ref> <oldrev> <newrev>" >&2
+ exit 1
+fi
+
+# Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
+if [ "$newrev" = "$zero" ]; then
+ newrev_type=delete
+else
+ newrev_type=$(git cat-file -t $newrev)
+fi
+
+echo "Hi from Soft Serve update hook!"
+echo
+echo "RefName: $refname"
+echo "Change Type: $newrev_type"
+echo "Old SHA1: $oldrev"
+echo "New SHA1: $newrev"
+
+exit 0