diff options
-rw-r--r-- | debian/changelog | 2 | ||||
-rwxr-xr-x | infra/dgit-repos-server | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 3ee2de8..f25c5d4 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 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"; |