From: Ian Jackson Date: Wed, 27 May 2015 20:33:17 +0000 (+0100) Subject: dgit-repos-policy-debian: better debugging for tainted object checking X-Git-Tag: debian/0.30~128 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=9a69602bffdc82084152fd322862197c51ea7d1b dgit-repos-policy-debian: better debugging for tainted object checking --- diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian index 399fd8cb..30dbbbec 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; $_ = ; die "$? $!" unless defined $_; + printdebug "|< ", $_ if $debuglevel>=2; next if m/^\w+ missing$/; die unless m/^(\w+) (\w+) (\d+)\s/;