From 593590bd81c9285839b18dcc416db0690fce721f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 19 Jun 2010 14:39:36 -0400 Subject: When a hook returns with non-zero report which hook last ran before exiting Signed-off-by: Benjamin C Meyer --- git-hooks | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/git-hooks b/git-hooks index 649d08a..bab2b5d 100755 --- a/git-hooks +++ b/git-hooks @@ -53,6 +53,7 @@ function run_hooks shift 1 for hook in `list_hooks_in_dir "${dir}"` do + export last_run_hook="${hook} $@" if [ ! -z ${GIT_HOOKS_VERBOSE} ] ; then echo -n "@@ Running hook: " echo -n `basename \`dirname "${hook}"\`` @@ -132,12 +133,18 @@ function list_hooks done } +function report_error { + echo "Hook failed: $last_run_hook" + exit 1 +} + case $1 in run ) if [ ! -z "${GIT_DIR}" ] ; then unset GIT_DIR fi shift + trap report_error ERR run_hook "$@" ;; --install|--uninstall ) -- cgit v1.2.3