about summary refs log tree commit homepage
path: root/public-inbox-mda
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-08-17 08:19:44 +0000
committerEric Wong <e@80x24.org>2015-08-17 08:51:35 +0000
commitc59caac2ee502dfd8b3acb1ca268c597719313f8 (patch)
tree8a44cb79c11d2995198e81ec99975b0aeb1de18a /public-inbox-mda
parent94f13e1f179c4b7c43d75f1154eec178718988c8 (diff)
downloadpublic-inbox-c59caac2ee502dfd8b3acb1ca268c597719313f8.tar.gz
We'll ignore errors, for now, but should eventually warn or
log.  And yes, this is a dirty, dirty hack but we'll fix this
ASAP tomorrow.
Diffstat (limited to 'public-inbox-mda')
-rwxr-xr-xpublic-inbox-mda17
1 files changed, 17 insertions, 0 deletions
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);
+        };
+}