lib/PublicInbox/Git.pm | 4 +++- lib/PublicInbox/SearchIdx.pm | 1 + diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index f47bc439080749c25100aca9cb1bb0f32b2d7c13..59c274702174f9e165ba30f99b4ed0136b04f67f 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -39,7 +39,7 @@ sub cat_file { my ($self, $obj, $ref) = @_; - $self->_bidi_pipe(qw(--batch in out pid)); + batch_prepare($self); $self->{out}->print($obj, "\n") or fail($self, "write error: $!"); my $in = $self->{in}; @@ -88,6 +88,8 @@ die $cb_err if $cb_err; $rv; } + +sub batch_prepare ($) { _bidi_pipe($_[0], qw(--batch in out pid)) } sub check { my ($self, $obj) = @_; diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 6efc1f3fb937ebb17726cdbddbd3defd77c85e4b..0582526e8b1c5b0f0866b39911e1a94d9a3507dc 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -390,6 +390,7 @@ my ($self, $opts) = @_; my $tip = $opts->{ref} || 'HEAD'; my $reindex = $opts->{reindex}; my ($mkey, $last_commit, $lx, $xlog); + $self->{git}->batch_prepare; my $xdb = _xdb_acquire($self); $xdb->begin_transaction; do {