diff options
-rwxr-xr-x | dgit-repos-server | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/dgit-repos-server b/dgit-repos-server index 2cc650d..ce48eeb 100755 --- a/dgit-repos-server +++ b/dgit-repos-server @@ -151,7 +151,12 @@ sub mkrepotmp () { sub reject ($) { my ($why) = @_; - debug " rejecting $why"; + my $w = $ENV{'DGIT_DRS_WORK'}; # we are in stunthook + if (defined $w) { + open REJ, ">", "$w/drs-reject" or die $!; + print REJ $why, "\n" or die $!; + close REJ or die $!; + } die "dgit-repos-server: reject: $why\n"; } @@ -208,6 +213,14 @@ END sub maybeinstallprospective () { return if $destrepo eq $realdestrepo; + if (open REJ, "<", "$workrepo/drs-reject") { + $!=0; my $why = <REJ>; + chomp $why or die $!; + reject $why; + } else { + $!==&ENOENT or die $!; + } + debug " show-ref ($destrepo) ..."; my $child = open SR, "-|"; |