diff options
Diffstat (limited to 'script/public-inbox-init')
-rwxr-xr-x | script/public-inbox-init | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/script/public-inbox-init b/script/public-inbox-init index d66361df..e23d1419 100755 --- a/script/public-inbox-init +++ b/script/public-inbox-init @@ -28,6 +28,11 @@ mkpath($dir); # will croak on fatal errors my ($fh, $filename) = tempfile('pi-init-XXXXXXXX', DIR => $dir); if (-e $pi_config) { open(my $oh, '<', $pi_config) or die "unable to read $pi_config: $!\n"; + my @st = stat($oh); + my $perm = $st[2]; + defined $perm or die "(f)stat failed on $pi_config: $!\n"; + chmod($perm & 07777, $fh) or + die "(f)chmod failed on future $pi_config: $!\n"; my $old; { local $/; @@ -43,10 +48,10 @@ if (-e $pi_config) { foreach my $addr (@address) { my $found = $cfg->lookup($addr); if ($found) { - if ($found->{listname} ne $name) { + if ($found->{name} ne $name) { print STDERR "`$addr' already defined for ", - "`$found->{listname}',\n", + "`$found->{name}',\n", "does not match intend `$name'\n"; $conflict = 1; } else { @@ -63,6 +68,10 @@ my $pfx = "publicinbox.$name"; my @x = (qw/git config/, "--file=$filename"); $git_dir = abs_path($git_dir); x(qw(git init -q --bare), $git_dir); + +# set a reasonable default: +x(qw/git config/, "--file=$git_dir/config", 'repack.writeBitmaps', 'true'); + foreach my $addr (@address) { next if $seen{lc($addr)}; x(@x, "--add", "$pfx.address", $addr); |