From: Ian Jackson Date: Wed, 29 Jan 2014 19:06:30 +0000 (+0000) Subject: dgit-repos-server: pre-receive hook sends errors to recorderror X-Git-Tag: debian/0.22~71 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=491559fd4c0a95ec591fe0e3581fcabc018d1966;ds=inline dgit-repos-server: pre-receive hook sends errors to recorderror --- 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; }