X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=infra%2Fdgit-ssh-dispatch;h=377f8b81d6786ba706ea73e75e0ac2aa6c3043d2;hp=e90687cb65d292f95e6279d444b397b0c2e6a8fb;hb=f7d222ee9782806cd05d7a82595c142096c3bd04;hpb=bf8dac2155172c0c33b7e764571a3a3985abf8c3 diff --git a/infra/dgit-ssh-dispatch b/infra/dgit-ssh-dispatch index e90687cb..377f8b81 100755 --- a/infra/dgit-ssh-dispatch +++ b/infra/dgit-ssh-dispatch @@ -125,8 +125,8 @@ sub dispatch () { prl hasrepo; finish; } elsif ( - m#^${qre}git-([-a-z]+) ${qre}/dgit/($lre)/repos/($lre)\.git${qre}$# - ) { + m#^${qre}git-([-a-z]+) ${qre}/dgit/($lre)/repos/($lre)\.git${qre}$# + ) { my $cmd=$1; selectpackage $2,$3; if ($cmd eq 'receive-pack') { @@ -139,6 +139,14 @@ sub dispatch () { } else { die "unsupported git operation $cmd ($_)"; } + } elsif ( + m#^${qre}git-upload-pack ${qre}/dgit/($lre)/(?:repos/)?_dgit-repos-server\.git${qre}$# + ) { + my $distro= $1; + serve_up("$dispatchdir/distro=$1/dgit-live/.git"); + } elsif (m#^${qre}git-upload-pack\s#) { + die "unknown repo to serve ($_). use dgit, or for server source ". + "git clone here:/dgit/DISTRO/repos/_dgit-repos-server.git"; } else { die "unsupported operation ($_)"; }