]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiStore.pm
lei index: new command to index mail w/o git storage
[public-inbox.git] / lib / PublicInbox / LeiStore.pm
index 29362b2e12ef9e1a3ede8509afbc10a592a48fcd..a7a0ebef097d41f68f1adfe0b0de4b656d1b702b 100644 (file)
@@ -206,10 +206,11 @@ sub set_sync_info {
 
 sub add_eml {
        my ($self, $eml, $vmd, $xoids) = @_;
-       my $im = $self->importer; # may create new epoch
+       my $im = $self->{-fake_im} // $self->importer; # may create new epoch
        my ($eidx, $tl) = eidx_init($self);
        my $oidx = $eidx->{oidx}; # PublicInbox::Import::add checks this
        my $smsg = bless { -oidx => $oidx }, 'PublicInbox::Smsg';
+       $smsg->{-eidx_git} = $eidx->git if !$self->{-fake_im};
        my $im_mark = $im->add($eml, undef, $smsg);
        if ($vmd && $vmd->{sync_info}) {
                set_sync_info($self, $smsg->{blob}, @{$vmd->{sync_info}});
@@ -276,6 +277,13 @@ sub set_eml {
                set_eml_vmd($self, $eml, $vmd);
 }
 
+sub index_eml_only {
+       my ($self, $eml, $vmd, $xoids) = @_;
+       require PublicInbox::FakeImport;
+       local $self->{-fake_im} = PublicInbox::FakeImport->new;
+       set_eml($self, $eml, $vmd, $xoids);
+}
+
 sub _external_only ($$$) {
        my ($self, $xoids, $eml) = @_;
        my $eidx = $self->{priv_eidx};