X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=infra%2Fdgit-repos-policy-debian;h=ce98cd72e46bfa104cf57182037dfb09d8f8a51b;hp=2e0bcc79af7034e9a253a3f532ad5d3003cb1bba;hb=ef676d2d2e300a8b81166929ab836ba7e50a1356;hpb=e270c55f02ce8839a6a2f4fbc316b213e4eaa9d1 diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian index 2e0bcc79..ce98cd72 100755 --- a/infra/dgit-repos-policy-debian +++ b/infra/dgit-repos-policy-debian @@ -376,7 +376,10 @@ END my $oldmode = ((stat _)[2]); my $oldwrites = $oldmode & 0222; # remove r and x bits which have corresponding w bits clear - my $newmode = $oldmode & ($oldwrites << 1) & ($oldwrites > 1); + my $newmode = $oldmode & + (~0555 | ($oldwrites << 1) | ($oldwrites >> 1)); + printdebug sprintf "chmod %#o (was %#o) %s\n", + $newmode, $oldmode, $freshrepo; chmod $newmode, $freshrepo or die $!; } }