]> Sergey Matveev's repositories - public-inbox.git/blobdiff - script/public-inbox-index
index: allow specifying --jobs=0 to disable multiprocess
[public-inbox.git] / script / public-inbox-index
index 52d6ba70af7a8401db7311ca89a66406de4b34a1..db7ebbab6421ec2cc1b849e4259b2ac82d6d745b 100755 (executable)
@@ -23,15 +23,15 @@ if ($@) {
 }
 
 my $reindex;
-my $regen;
+my $prune;
 my $jobs = undef;
 my %opts = (
        '--reindex' => \$reindex,
-       '--regenerate' => \$regen,
        '--jobs|j=i' => \$jobs,
+       '--prune' => \$prune,
 );
 GetOptions(%opts) or die "bad command-line args\n$usage";
-die "--jobs must be positive\n" if defined $jobs && $jobs <= 0;
+die "--jobs must be positive\n" if defined $jobs && $jobs < 0;
 
 my @dirs;
 
@@ -101,11 +101,11 @@ sub index_dir {
                eval { require PublicInbox::V2Writable };
                die "v2 requirements not met: $@\n" if $@;
                my $v2w = eval {
-                       local $ENV{NPROC} = $jobs;
+                       local $ENV{NPROC} = $jobs if $jobs;
                        PublicInbox::V2Writable->new($repo);
                };
                if (defined $jobs) {
-                       if ($jobs == 1) {
+                       if ($jobs == 0) {
                                $v2w->{parallel} = 0;
                        } else {
                                my $n = $v2w->{partitions};
@@ -115,16 +115,7 @@ sub index_dir {
                                }
                        }
                }
-               my $mm = $repo->mm;
-               my (undef, $max) = $mm->minmax if $mm;
-               if (defined($max) && !$reindex && !$regen) {
-                       die
-"v2 inboxes may only use --reindex and/or --regenerate once\n".
-"msgmap.sqlite3 is initialized\n";
-               }
-
-               $v2w->reindex($regen);
-               $v2w->done;
+               $v2w->index_sync({ reindex => $reindex, prune => $prune });
        } else {
                my $s = PublicInbox::SearchIdx->new($repo, 1);
                $s->index_sync({ reindex => $reindex });