From 491559fd4c0a95ec591fe0e3581fcabc018d1966 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 29 Jan 2014 19:06:30 +0000 Subject: [PATCH] dgit-repos-server: pre-receive hook sends errors to recorderror --- dgit-repos-server | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dgit-repos-server b/dgit-repos-server index 6acd6894..57cb5be1 100755 --- a/dgit-repos-server +++ b/dgit-repos-server @@ -153,6 +153,7 @@ sub recorderror ($) { my ($why) = @_; my $w = $ENV{'DGIT_DRS_WORK'}; # we are in stunthook if (defined $w) { + chomp $why; open ERR, ">", "$w/drs-error" or die $!; print ERR $why, "\n" or die $!; close ERR or die $!; @@ -544,7 +545,13 @@ sub parseargsdispatch () { defined($destrepo = $ENV{'DGIT_DRS_DEST'}) or die; defined($keyrings = $ENV{'DGIT_DRS_KEYRINGS'}) or die $!; open STDOUT, ">&STDERR" or die $!; - stunthook(); + eval { + stunthook(); + }; + if ($@) { + recorderror "$@" or die; + die $@; + } exit 0; } -- 2.30.2