summaryrefslogtreecommitdiff
path: root/dgit-repos-server
diff options
context:
space:
mode:
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 () {