diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-01-26 19:12:53 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-03-05 18:29:05 +0000 |
commit | b58de5245d0a98e91a5f708d93c2eb6b4a198b47 (patch) | |
tree | 48f7fc9824e3d08a6308e31a4ff066c6be2370ef | |
parent | ccc64aa5e65a4093c03d6313d86abd879033b0ec (diff) |
dgit-repos-server: plumb rejection message through to parent maybeinstallprospective
-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, "-|"; |