X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=infra%2Fdgit-ssh-dispatch;fp=infra%2Fdgit-ssh-dispatch;h=e90687cb65d292f95e6279d444b397b0c2e6a8fb;hb=bf8dac2155172c0c33b7e764571a3a3985abf8c3;hp=f29515f53e073c8b19e7345f950a278dad58e896;hpb=520d2b03770aeb7be9b63fbdddb9ad896d535732;p=dgit.git diff --git a/infra/dgit-ssh-dispatch b/infra/dgit-ssh-dispatch index f29515f5..e90687cb 100755 --- a/infra/dgit-ssh-dispatch +++ b/infra/dgit-ssh-dispatch @@ -111,6 +111,12 @@ sub hasrepo () { } } +sub serve_up ($) { + my ($repo) = @_; + exec qw(git upload-pack --strict --timeout=1000), $repo; + die "exec git: $!"; +} + sub dispatch () { local ($_) = $ENV{'SSH_ORIGINAL_COMMAND'}; @@ -129,8 +135,7 @@ sub dispatch () { die "exec $s: $!"; } elsif ($cmd eq 'upload-pack') { $repo='$repos/_empty' unless hasrepo; - exec qw(git upload-pack --strict --timeout=1000), $repo; - die "exec git: $!"; + serve_up $repo; } else { die "unsupported git operation $cmd ($_)"; }