summaryrefslogtreecommitdiff
path: root/dgit-repos-server
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2014-01-22 18:29:18 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2014-03-05 18:29:04 +0000
commit827088d1ff85113db9528f3ed55972b68cb2f540 (patch)
tree8e7acc9800606edec5d1dd7bb2a3f832085c081c /dgit-repos-server
parent6028a357a7c95c38d6d48c566463641583431978 (diff)
dgit-repos-server: make _empty ourselves
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 7c48b2f..2cbb4e7 100755
--- a/dgit-repos-server
+++ b/dgit-repos-server
@@ -403,6 +403,15 @@ sub stunthook () {
sub fixmissing__git_upload_pack () {
$destrepo = "$dgitrepos/_empty";
+ my $lfh = acquiretree($destrepo,1);
+ return if stat $destrepo;
+ die $! unless $!==ENOENT;
+ rmtree "$destrepo.new";
+ umask 022;
+ runcmd qw(git init --bare --quiet), "$destrepo.new";
+ rename "$destrepo.new", $destrepo or die $!;
+ unlink "$destrepo.lock" or die $!;
+ close $lfh;
}
sub main__git_upload_pack () {