summaryrefslogtreecommitdiff
path: root/infra/dgit-repos-server
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-08 19:59:41 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-08 19:59:42 +0100
commitdd16a85d0df7e5b55a49b1c80aa769946f1ebb21 (patch)
tree005a3310f71237de0475a1703e8bac85db3ff36a /infra/dgit-repos-server
parent865ccbc447b33ac2f2d66af0147463c2709a4339 (diff)
infrastructure: Cope with new git-receive-pack which has quarantine feature
Ie, work around #867702. See the bug there for discussion. (We are perhaps flying a little close to the wind with our wrapper script location, but it doesn't seem likely to break, to me.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'infra/dgit-repos-server')
-rwxr-xr-xinfra/dgit-repos-server11
1 files changed, 11 insertions, 0 deletions
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server
index 54a63f9..55dc81f 100755
--- a/infra/dgit-repos-server
+++ b/infra/dgit-repos-server
@@ -943,6 +943,17 @@ sub onwardpush () {
my @cmdbase = (qw(git send-pack), $destrepo);
push @cmdbase, qw(--force) if $policy & NOFFCHECK;
+ if ($ENV{GIT_QUARANTINE_PATH}) {
+ my $recv_wrapper = "$ENV{GIT_QUARANTINE_PATH}/dgit-recv-wrapper";
+ mkscript $recv_wrapper, <<'END';
+#!/bin/sh
+set -e
+unset GIT_QUARANTINE_PATH
+exec git receive-pack "$@"
+END
+ push @cmdbase, "--receive-pack=$recv_wrapper";
+ }
+
my @cmd = @cmdbase;
push @cmd, "$commit:refs/dgit/$suite",
"$tagval:refs/tags/$tagname";