#!/usr/bin/env bash data=$(cat) exitcodes="" hookname=$(basename $0) GIT_DIR=${GIT_DIR:-$(dirname $0)} for hook in ${GIT_DIR}/hooks/${hookname}.d/*; do test -x "${hook}" || continue echo "${data}" | "${hook}" exitcodes="${exitcodes} $?" done for i in ${exitcodes}; do [ ${i} -eq 0 ] || exit ${i} done