diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-06-04 19:46:07 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-07-16 16:47:46 +0100 |
commit | f9da2ff21675a630444be1a65ac27fe387581f26 (patch) | |
tree | 108ee39b927cec0e82b843f379130c460d4cc3c4 /infra | |
parent | 86daff8924bab3297885cfe375341bf3f4ffe09c (diff) |
dgit-repos-policy-debian.: fix git-cat-file-handling with multiple taints in db (!).
Diffstat (limited to 'infra')
-rwxr-xr-x | infra/dgit-repos-policy-debian | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian index d687a3e..4dab576 100755 --- a/infra/dgit-repos-policy-debian +++ b/infra/dgit-repos-policy-debian @@ -352,9 +352,6 @@ 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 "($taintid @objscatcmd) $!" unless defined $_; printdebug "|< ", $_ if $debuglevel>=2; @@ -367,6 +364,10 @@ END (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 = ? END |