summaryrefslogtreecommitdiff
path: root/infra/dgit-repos-policy-debian
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-05-27 21:33:17 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-05-31 12:58:15 +0100
commit9a69602bffdc82084152fd322862197c51ea7d1b (patch)
tree339ecbf12df516ca2000751d5612886ea7d45c2f /infra/dgit-repos-policy-debian
parentba153eff996c278e4fb2db71dc038c97d56684af (diff)
dgit-repos-policy-debian: better debugging for tainted object checking
Diffstat (limited to 'infra/dgit-repos-policy-debian')
-rwxr-xr-xinfra/dgit-repos-policy-debian8
1 files changed, 7 insertions, 1 deletions
diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian
index 399fd8c..30dbbbe 100755
--- a/infra/dgit-repos-policy-debian
+++ b/infra/dgit-repos-policy-debian
@@ -290,11 +290,16 @@ sub action_push_confirm () {
END
$initq->execute($pkg);
+ my @objscatcmd = qw(git);
+ push @objscatcmd, qw(cat-file --batch);
+ debugcmd '|',@objscatcmd if $debuglevel>=2;
+
my @taintids;
my $chkinput = tempfile();
while (my $taint = $initq->fetchrow_hashref()) {
push @taintids, $taint->{taint_id};
print $chkinput $taint->{gitobjid}, "\n" or die $!;
+ printdebug '|> ', $taint->{gitobjid}, "\n" if $debuglevel>=2;
}
flush $chkinput or die $!;
seek $chkinput,0,0 or die $!;
@@ -302,7 +307,7 @@ END
my $checkpid = open CHKOUT, "-|" // die $!;
if (!$checkpid) {
open STDIN, "<&", $chkinput or die $!;
- exec qw(git cat-file --batch) or die $!;
+ exec @objscatcmd or die $!;
}
my ($taintinfoq,$overridesanyq,$untaintq,$overridesq);
@@ -328,6 +333,7 @@ END
# just read what we expect and then let it get SIGPIPE.
$!=0; $_ = <CHKOUT>;
die "$? $!" unless defined $_;
+ printdebug "|< ", $_ if $debuglevel>=2;
next if m/^\w+ missing$/;
die unless m/^(\w+) (\w+) (\d+)\s/;