From: Eric Wong Date: Tue, 9 Aug 2016 00:22:51 +0000 (+0000) Subject: searchidx: persist the PublicInbox::Git object X-Git-Tag: v1.0.0~246 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ec483e30d9003530224cfb92d1657ad33d1db7da;p=public-inbox.git searchidx: persist the PublicInbox::Git object We can cheaply keep the object around nowadays since it spawns expensive processes only on an as-needed basis. --- diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 9a462c75..2c4e704d 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -44,6 +44,7 @@ sub new { my $umask = _umask_for($perm); $self->{umask} = $umask; $self->{lock_path} = "$git_dir/ssoma.lock"; + $self->{git} = PublicInbox::Git->new($git_dir); $self->{xdb} = $self->with_umask(sub { if ($writable == 1) { require File::Path; @@ -349,7 +350,7 @@ sub rlog { my $h40 = $hex .'{40}'; my $addmsg = qr!^:000000 100644 \S+ ($h40) A\t${hex}{2}/${hex}{38}$!; my $delmsg = qr!^:100644 000000 ($h40) \S+ D\t${hex}{2}/${hex}{38}$!; - my $git = PublicInbox::Git->new($self->{git_dir}); + my $git = $self->{git}; my $log = $git->popen(qw/log --reverse --no-notes --no-color --raw -r --no-abbrev/, $range); my $latest;