diff options
author | Eric Wong <e@80x24.org> | 2020-10-27 07:54:29 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-11-07 10:19:03 +0000 |
commit | 5146114b3bc0dbee255a936703fe821ee4a1eebf (patch) | |
tree | ee9e25bc73901ff6596cbfbfc75dfbaedd0a1f40 /lib | |
parent | 50c4fa0c8254366e0a83e237aca0c992fe669478 (diff) | |
download | public-inbox-5146114b3bc0dbee255a936703fe821ee4a1eebf.tar.gz |
This will allow ExtSearchIdx to override or reuse them more easily. Unfortunately we lose prototype validation, but that seems to be discouraged anyways given the 'signatures' feature in Perl 5.20+.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/V2Writable.pm | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 3d3c25ec..ca60f2a1 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -952,8 +952,9 @@ sub index_oid { # cat_async callback } # only update last_commit for $i on reindex iff newer than current +# $sync will be used by subclasses sub update_last_commit { - my ($self, $git, $i, $cmt) = @_; + my ($self, $sync, $git, $i, $cmt) = @_; my $last = last_epoch_commit($self, $i); if (defined $last && is_ancestor($git, $last, $cmt)) { my @cmd = (qw(rev-list --count), "$last..$cmt"); @@ -963,7 +964,7 @@ sub update_last_commit { last_epoch_commit($self, $i, $cmt); } -sub last_commits ($$) { +sub last_commits { my ($self, $sync) = @_; my $heads = []; for (my $i = $sync->{epoch_max}; $i >= 0; $i--) { @@ -1028,6 +1029,7 @@ sub artnum_max { $_[0]->{mm}->num_highwater } sub sync_prepare ($$) { my ($self, $sync) = @_; + $sync->{ranges} = sync_ranges($self, $sync); my $pr = $sync->{-opt}->{-progress}; my $regen_max = 0; my $head = $sync->{ibx}->{ref_head} || 'HEAD'; @@ -1232,7 +1234,7 @@ sub index_epoch ($$$) { } } $all->async_wait_all; - $self->update_last_commit($git, $i, $stk->{latest_cmt}); + $self->update_last_commit($sync, $git, $i, $stk->{latest_cmt}); } sub xapian_only { @@ -1294,7 +1296,6 @@ sub index_sync { ibx => $self->{ibx}, epoch_max => $epoch_max, }; - $sync->{ranges} = sync_ranges($self, $sync); if (sync_prepare($self, $sync)) { # tmp_clone seems to fail if inside a transaction, so # we rollback here (because we opened {mm} for reading) |