summaryrefslogtreecommitdiff
path: root/infra/dgit-repos-policy-debian
diff options
context:
space:
mode:
Diffstat (limited to 'infra/dgit-repos-policy-debian')
-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 $!;