X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit-repos-server;h=2cbb4e7d449469485db35fc828c494ccd38e3181;hb=827088d1ff85113db9528f3ed55972b68cb2f540;hp=7c48b2f322fb3a971a79a341cb61fe8cc29db077;hpb=6028a357a7c95c38d6d48c566463641583431978;p=dgit.git diff --git a/dgit-repos-server b/dgit-repos-server index 7c48b2f3..2cbb4e7d 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 () {