chiark / gitweb /
Tag change: Rename debiantag to debiantag_old
[dgit.git] / infra / dgit-repos-policy-debian
index e56d09096719254c243e77d99193bedaf5d78414..62a275ac837478f10da61ec898f9b6909b19fbc2 100755 (executable)
@@ -109,7 +109,7 @@ sub apiquery ($) {
 sub vsn_in_our_history ($) {
     my ($vsn) = @_;
 
-    my $tagref = "refs/tags/".debiantag $vsn, $distro;
+    my $tagref = "refs/tags/".debiantag_old $vsn, $distro;
     printdebug " checking history  vsn=$vsn tagref=$tagref\n";
     $?=0; my $r = system qw(git show-ref --verify --quiet), $tagref;
     return 1 if !$r;
@@ -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; $_ = <CHKOUT>;
-       die "$? $!" unless defined $_;
+       die "($taintid @objscatcmd) $!" unless defined $_;
        printdebug "|< ", $_ if $debuglevel>=2;
 
        next if m/^\w+ missing$/;
-       die "($taintid) $_ ?" 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; $_ = <CHKOUT>;
+       die "($taintid @objscatcmd) $!" unless defined $_;
+       die "($taintid @objscatcmd) $_ ?" if m/\S/;
 
        $taintinfoq ||= $poldbh->prepare(<<END);
             SELECT package, time, comment FROM taints WHERE taint_id =  ?
@@ -372,7 +374,7 @@ END
         $taintinfoq->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})