chiark / gitweb /
dgit-repos-server: plumb rejection message through to parent maybeinstallprospective
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 26 Jan 2014 19:12:53 +0000 (19:12 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 5 Mar 2014 18:29:05 +0000 (18:29 +0000)
dgit-repos-server

index 2cc650d..ce48eeb 100755 (executable)
@@ -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, "-|";