-
-
Save rugameuser/fb408d684b5b905b037773bf4ad9e4b6 to your computer and use it in GitHub Desktop.
Run multiple scripts for the same git hook
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# This script should be saved in a git repo as a hook file, e.g. .git/hooks/pre-receive. | |
# It looks for scripts in the .git/hooks/pre-receive.d directory and executes them in order, | |
# passing along stdin. If any script exits with a non-zero status, this script exits. | |
script_dir=$(dirname $0) | |
hook_name=$(basename $0) | |
hook_dir="$script_dir/$hook_name.d" | |
if [[ -d $hook_dir ]]; then | |
stdin=$(cat /dev/stdin) | |
for hook in $hook_dir/*; do | |
echo "Running $hook_name/$hook hook" | |
echo "$stdin" | $hook "$@" | |
exit_code=$? | |
if [ $exit_code != 0 ]; then | |
exit $exit_code | |
fi | |
done | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment