From: Ian Jackson Date: Wed, 22 Jan 2014 18:36:13 +0000 (+0000) Subject: dgit-repos-server: make _tmp X-Git-Tag: debian/0.22~88 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=35ab9a12809f8a2ac86274e76612a9960c5bead2 dgit-repos-server: make _tmp --- diff --git a/dgit-repos-server b/dgit-repos-server index aab35d32..aaa75420 100755 --- a/dgit-repos-server +++ b/dgit-repos-server @@ -133,6 +133,13 @@ sub acquiretree ($$) { return $fh; } +sub mkrepotmp () { + my $tmpdir = "$dgitrepos/_tmp"; + return if mkdir $tmpdir; + return if $! == EEXIST; + die $!; +} + sub reject ($) { die "dgit-repos-server: reject: $_[0]\n"; } @@ -146,6 +153,7 @@ sub runcmd { #----- git-receive-pack ----- sub fixmissing__git_receive_pack () { + mkrepotmp(); $destrepo = "$dgitrepos/_tmp/${package}_prospective"; acquiretree($destrepo, 1); my $r = system qw(cp -a --), "$dgitrepos/_template", "$destrepo"; @@ -153,6 +161,7 @@ sub fixmissing__git_receive_pack () { } sub makeworkingclone () { + mkrepotmp(); $workrepo = "$dgitrepos/_tmp/${package}_incoming$$"; acquiretree($workrepo, 1); runcmd qw(git clone -l -q --mirror), $destrepo, $workrepo;