]> Sergey Matveev's repositories - public-inbox.git/commitdiff
searchidx: persist the PublicInbox::Git object
authorEric Wong <e@80x24.org>
Tue, 9 Aug 2016 00:22:51 +0000 (00:22 +0000)
committerEric Wong <e@80x24.org>
Tue, 9 Aug 2016 00:24:55 +0000 (00:24 +0000)
We can cheaply keep the object around nowadays since it
spawns expensive processes only on an as-needed basis.

lib/PublicInbox/SearchIdx.pm

index 9a462c750a365d5e5247f1245a943d13ab71131f..2c4e704d146d68f3f28579632c57b051b7fc90cc 100644 (file)
@@ -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;