chiark / gitweb /
git_for_each_ref: Fix FH handling
[dgit.git] / infra / dgit-repos-policy-debian
index 2e0bcc79af7034e9a253a3f532ad5d3003cb1bba..ac427127464f4c932baa460a9e8ad170626d552f 100755 (executable)
@@ -88,10 +88,10 @@ sub apiquery ($) {
     $cmd .= " archive-api-query $subpath";
     printdebug "apiquery $cmd\n";
     $!=0; $?=0; my $json = `$cmd`;
-    defined $json or die "$subpath $! $?";
+    defined $json && !$? or die "$subpath $! $?";
     my $r = decode_json $json;
     my $d = new Data::Dumper([$r], [qw(r)]);
-    printdebug "apiquery $subpath | ", $d->Dump(), "\n" if $debuglevel>=2;
+    printdebug "apiquery $subpath | ", $d->Dump() if $debuglevel>=2;
     return $r;
 }
 
@@ -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 $!;
        }
     }
@@ -392,7 +395,7 @@ sub action_check_list () {
        statpackage();
        next unless $pkg_exists;
        next unless $pkg_secret;
-       printdebug "$pkg\n" or die $!;
+       print "$pkg\n" or die $!;
     }
     closedir L or die $!;
     close STDOUT or die $!;