summaryrefslogtreecommitdiff
path: root/infra
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-27 20:26:54 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-28 13:28:52 +0000
commit748505d79d881ba89497a55cb15f5cdd52178dae (patch)
treec36fda3808eaec860a0750a367b6639888743028 /infra
parent1ef6c07b2e83444b8b11afb32f3b91b06a025eff (diff)
dgit-repos-policy-debian: tainted-objects: Fix overrides
And explain. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'infra')
-rwxr-xr-xinfra/dgit-repos-policy-debian12
1 files changed, 11 insertions, 1 deletions
diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian
index ac1ee29..6bdd637 100755
--- a/infra/dgit-repos-policy-debian
+++ b/infra/dgit-repos-policy-debian
@@ -578,13 +578,23 @@ END
delete $row->{taint_id};
}
if (defined(my $questionable_head_msg = package_questionable_head_msg())) {
+ # We would reject this in push. We need to arrange that the
+ # client will detect this. The object tainting mechanism can
+ # be (ab)used for this: we tell the client that HEAD is tainted.
my $head = git_rev_parse('HEAD~0');
push @$topq, {
gitobjtype => 'commit',
gitobjid => $head,
comment => 'Package is in NEW, need a --deliberately',
hint => $questionable_head_msg,
- overrides => [], # FIXME
+ # If the client was told -d-i-q-h, then they can go ahead -
+ # our push will be placated. If the client was told -d-n-f-f
+ # then presumably they aren't sending the old HEAD, so there
+ # won't be a tainted object reachable from their head - so
+ # -d-n-f-f isn't listed here. After all, this is for controlling
+ # when the client will regard this as a blocking problem, not
+ # for advising the user about overriding options.
+ overrides => [qw(--deliberately-include-questionable-history)]
};
}
print encode_json $topq, "\n" or die $!;