From: Ian Jackson Date: Sat, 8 Jul 2017 18:59:41 +0000 (+0100) Subject: infrastructure: Cope with new git-receive-pack which has quarantine feature X-Git-Tag: archive/debian/3.11~11 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=dd16a85d0df7e5b55a49b1c80aa769946f1ebb21 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 --- diff --git a/debian/changelog b/debian/changelog index 3ee2de87..f25c5d49 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ dgit (3.11~) unstable; urgency=medium tree. Closes:#865863. * dgit: rpush: Honour local git config from build host working tree. + * infrastructure: Cope with new git-receive-pack which has + quarantine feature: ie, work around #867702. * test suite: Cope with git restricting ext:: protocols. -- diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server index 54a63f92..55dc81ff 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";