X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=infra%2Fdgit-repos-policy-debian;h=4dab576f1a4257e3bff41aef8ac4f4b1d30105f1;hb=f9da2ff21675a630444be1a65ac27fe387581f26;hp=fbf2d516219378ffd2caa86ff294f23c21acca32;hpb=d6be829bf56e699d27d388026d4af7ab710ba328;p=dgit.git diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian index fbf2d516..4dab576f 100755 --- a/infra/dgit-repos-policy-debian +++ b/infra/dgit-repos-policy-debian @@ -352,19 +352,21 @@ END my $mustreject=0; while (my $taintid = shift @taintids) { - # git cat-file prints a spurious newline after it gets EOF - # This is not documented. I guess it might go away. So we - # just read what we expect and then let it get SIGPIPE. $!=0; $_ = ; - die "$? $!" unless defined $_; + die "($taintid @objscatcmd) $!" unless defined $_; printdebug "|< ", $_ if $debuglevel>=2; next if m/^\w+ missing$/; - die "$_ ?" unless m/^(\w+) (\w+) (\d+)\s/; + die "($taintid @objscatcmd) $_ ?" unless m/^(\w+) (\w+) (\d+)\s/; my ($objid,$objtype,$nbytes) = ($1,$2,$3); my $drop; - (read CHKOUT, $drop, $nbytes) == $nbytes or die; + (read CHKOUT, $drop, $nbytes) == $nbytes + or die "($taintid @objscatcmd) $!"; + + $!=0; $_ = ; + die "($taintid @objscatcmd) $!" unless defined $_; + die "($taintid @objscatcmd) $_ ?" if m/\S/; $taintinfoq ||= $poldbh->prepare(<execute($taintid); my $ti = $taintinfoq->fetchrow_hashref(); - die unless $ti; + die "($taintid)" unless $ti; my $timeshow = defined $ti->{time} ? " at time ".strftime("%Y-%m-%d %H:%M:%S Z", gmtime $ti->{time})