diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-01-22 18:29:18 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-03-05 18:29:04 +0000 |
commit | 827088d1ff85113db9528f3ed55972b68cb2f540 (patch) | |
tree | 8e7acc9800606edec5d1dd7bb2a3f832085c081c /dgit-repos-server | |
parent | 6028a357a7c95c38d6d48c566463641583431978 (diff) |
dgit-repos-server: make _empty ourselves
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 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 () { |