about summary refs log tree commit homepage
path: root/lib/PublicInbox/V2Writable.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-11-13 11:11:42 +0000
committerEric Wong <e@80x24.org>2020-11-15 02:56:00 +0000
commit0d0b58966b2ae7e96848c2f05491a66c62531385 (patch)
tree73f8fef5d277dc99612665cde115d1218eda1fb6 /lib/PublicInbox/V2Writable.pm
parent58a964c3c8a2f1699065358e4041b529d3ee531c (diff)
downloadpublic-inbox-0d0b58966b2ae7e96848c2f05491a66c62531385.tar.gz
Since all.git (v2) and ALL.git (extindex) encompass every single
epoch or indexed inbox; and is_ancestor() only uses hexadecimal
OIDs; there is no good reason to use $unit->{git} for an
epoch-local $git->check.

This prevents dozens/hundreds of --batch-check processes from
being left running after indexing and can improve locality
if size checks are being done (since that uses --batch-check,
too).

Theoretically several epochs may have conflicting OIDs, but
we're screwed in those cases, anyways, so we might as well
detect it earlier (though I'm not sure what the behavior would
be :x).
Diffstat (limited to 'lib/PublicInbox/V2Writable.pm')
-rw-r--r--lib/PublicInbox/V2Writable.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index 87b76501..cf44c95b 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -966,7 +966,7 @@ sub update_last_commit {
         my $latest_cmt = $stk ? $stk->{latest_cmt} : ${$sync->{latest_cmt}};
         defined($latest_cmt) or return;
         my $last = last_epoch_commit($self, $unit->{epoch});
-        if (defined $last && is_ancestor($unit->{git}, $last, $latest_cmt)) {
+        if (defined $last && is_ancestor($self->git, $last, $latest_cmt)) {
                 my @cmd = (qw(rev-list --count), "$last..$latest_cmt");
                 chomp(my $n = $unit->{git}->qx(@cmd));
                 return if $n ne '' && $n == 0;
@@ -1003,7 +1003,7 @@ sub log_range ($$$) {
         my $range = "$cur..$tip";
         $pr->("$i.git checking contiguity... ") if $pr;
         my $git = $unit->{git};
-        if (is_ancestor($git, $cur, $tip)) { # common case
+        if (is_ancestor($sync->{self}->git, $cur, $tip)) { # common case
                 $pr->("OK\n") if $pr;
                 my $n = $git->qx(qw(rev-list --count), $range);
                 chomp($n);