diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-01-22 18:36:13 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-03-05 18:29:04 +0000 |
commit | 35ab9a12809f8a2ac86274e76612a9960c5bead2 (patch) | |
tree | f11fab9cca0bd325ca2ec4b1c9e71db1ca247c02 /dgit-repos-server | |
parent | fb6ff2e818203ba2b02f4d4d3b2eb57c77ba74c0 (diff) |
dgit-repos-server: make _tmp
Diffstat (limited to 'dgit-repos-server')
-rwxr-xr-x | dgit-repos-server | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/dgit-repos-server b/dgit-repos-server index aab35d3..aaa7542 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; |