summaryrefslogtreecommitdiff
path: root/dgit-repos-server
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2014-01-22 18:36:13 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2014-03-05 18:29:04 +0000
commit35ab9a12809f8a2ac86274e76612a9960c5bead2 (patch)
treef11fab9cca0bd325ca2ec4b1c9e71db1ca247c02 /dgit-repos-server
parentfb6ff2e818203ba2b02f4d4d3b2eb57c77ba74c0 (diff)
dgit-repos-server: make _tmp
Diffstat (limited to 'dgit-repos-server')
-rwxr-xr-xdgit-repos-server9
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;