diff options
Diffstat (limited to 'playbooks/roles/src/templates/volumes/data/hooks/update')
-rwxr-xr-x | playbooks/roles/src/templates/volumes/data/hooks/update | 37 |
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 |