]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/V2Writable.pm
nntp: hdr_msg_id: use named sub for long_response
[public-inbox.git] / lib / PublicInbox / V2Writable.pm
index ad2e8e62309ab18d3a1979435d8ed539ffa7fe78..ab80941acb64431537b54029613bb42d62776f71 100644 (file)
@@ -77,7 +77,8 @@ sub new {
        # $creat may be any true value, or 0/undef.  A hashref is true,
        # and $creat->{nproc} may be set to an integer
        my ($class, $v2ibx, $creat) = @_;
-       my $dir = $v2ibx->{inboxdir} or die "no inboxdir in inbox\n";
+       $v2ibx = PublicInbox::InboxWritable->new($v2ibx);
+       my $dir = $v2ibx->assert_usable_dir;
        unless (-d $dir) {
                if ($creat) {
                        require File::Path;
@@ -86,8 +87,6 @@ sub new {
                        die "$dir does not exist\n";
                }
        }
-
-       $v2ibx = PublicInbox::InboxWritable->new($v2ibx);
        $v2ibx->umask_prepare;
 
        my $xpfx = "$dir/xap" . PublicInbox::Search::SCHEMA_VERSION;
@@ -1129,6 +1128,7 @@ sub sync_prepare ($$$) {
                                --no-notes --no-color --no-renames
                                --diff-filter=AM), $range, '--', 'm');
                ++$n while <$fh>;
+               close $fh or die "git log failed: \$?=$?";
                $pr->("$n\n") if $pr;
                $regen_max += $n;
        }
@@ -1196,7 +1196,7 @@ sub unindex ($$$$) {
                unindex_oid($self, $git, $1, $unindexed);
        }
        delete $self->{reindex_pipe};
-       $fh = undef;
+       close $fh or die "git log failed: \$?=$?";
 
        return unless $sync->{-opt}->{prune};
        my $after = scalar keys %$unindexed;
@@ -1204,7 +1204,7 @@ sub unindex ($$$$) {
 
        # ensure any blob can not longer be accessed via dumb HTTP
        PublicInbox::Import::run_die(['git', "--git-dir=$git->{git_dir}",
-               qw(-c gc.reflogExpire=now gc --prune=all)]);
+               qw(-c gc.reflogExpire=now gc --prune=all --quiet)]);
 }
 
 sub sync_ranges ($$$) {
@@ -1252,7 +1252,7 @@ sub index_epoch ($$$) {
                        mark_deleted($self, $sync, $git, $1);
                }
        }
-       $fh = undef;
+       close $fh or die "git log failed: \$?=$?";
        delete $self->{reindex_pipe};
        update_last_commit($self, $git, $i, $cmt) if defined $cmt;
 }