X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=infra%2Fdgit-repos-server;h=9a66bdbd4b8a5cf5d095bada9792bf9e69d65466;hp=3f41a0bb9ba356093a6f2ce2259875b8b4fcb287;hb=6232da09fea7fd6b35a6cda84525a6d5c03223b9;hpb=f94881cfca1e725248ffed399f46b7c9128dc8e8;ds=sidebyside diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server index 3f41a0bb..9a66bdbd 100755 --- a/infra/dgit-repos-server +++ b/infra/dgit-repos-server @@ -200,6 +200,11 @@ sub policyhook { return $r >> 8; } +sub mkemptyrepo ($$) { + my ($dir,$sharedperm) = @_; + runcmd qw(git init --bare --quiet), "--shared=$sharedperm", $dir; +} + #----- git-receive-pack ----- sub fixmissing__git_receive_pack () { @@ -549,8 +554,7 @@ sub fixmissing__git_upload_pack () { return if stat $destrepo; die $! unless $!==ENOENT; rmtree "$destrepo.new"; - umask 022; - runcmd qw(git init --bare --quiet), "$destrepo.new"; + mkemptyrepo "$destrepo.new", "0644"; rename "$destrepo.new", $destrepo or die $!; unlink "$destrepo.lock" or die $!; close $lfh;