about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rwxr-xr-xpublic-inbox-learn10
-rwxr-xr-xpublic-inbox-mda17
2 files changed, 27 insertions, 0 deletions
diff --git a/public-inbox-learn b/public-inbox-learn
index d3a05abe..7f525f55 100755
--- a/public-inbox-learn
+++ b/public-inbox-learn
@@ -76,5 +76,15 @@ foreach my $recipient (keys %dests) {
         if (!run([qw(spamc -L), $train], \$in, @output)) {
                 $err = 1;
         }
+
+        $err or eval {
+                require PublicInbox::Search;
+                require PublicInbox::GitCatFile;
+                my $git = PublicInbox::GitCatFile->new($git_dir);
+                umask 0022; # XXX FIXME use git config core.sharedRepository
+                my $s = PublicInbox::Search->new($git_dir, 1);
+                $s->index_sync($git);
+        };
 }
+
 exit $err;
diff --git a/public-inbox-mda b/public-inbox-mda
index 4348cb24..46a24a14 100755
--- a/public-inbox-mda
+++ b/public-inbox-mda
@@ -47,6 +47,11 @@ if (PublicInbox::MDA->precheck($filter, $dst->{address}) &&
 
                         my ($name, $email, $date) =
                                         PublicInbox::MDA->author_info($msg);
+
+                        END {
+                                search_index_sync($main_repo) if ($? == 0);
+                        };
+
                         local $ENV{GIT_AUTHOR_NAME} = $name;
                         local $ENV{GIT_AUTHOR_EMAIL} = $email;
                         local $ENV{GIT_AUTHOR_DATE} = $date;
@@ -79,3 +84,15 @@ sub do_spamc {
 
         return ($@ || $? || !defined($$out) || length($$out) == 0) ? 0 : 1;
 }
+
+sub search_index_sync {
+        my ($git_dir) = @_;
+        eval {
+                require PublicInbox::Search;
+                require PublicInbox::GitCatFile;
+                my $git = PublicInbox::GitCatFile->new($git_dir);
+                umask 0022; # XXX FIXME use git config core.sharedRepository
+                my $s = PublicInbox::Search->new($git_dir, 1);
+                $s->index_sync($git);
+        };
+}