]> Sergey Matveev's repositories - public-inbox.git/blobdiff - script/public-inbox-mda
import: cleanup git cat-file processes when ->done
[public-inbox.git] / script / public-inbox-mda
index 8cf441957cc01a59506df54e83b816fd24e5edbb..766d58a6f4c22cd97ca91a9fda6dc7bd421d8bca 100755 (executable)
@@ -15,9 +15,7 @@ sub do_exit {
 }
 
 use Email::Simple;
-use Email::MIME;
-use Email::MIME::ContentType;
-$Email::MIME::ContentType::STRICT_PARAMS = 0; # user input is imperfect
+use PublicInbox::MIME;
 use PublicInbox::MDA;
 use PublicInbox::Config;
 use PublicInbox::Import;
@@ -80,8 +78,18 @@ if (ref($ret) && $ret->isa('Email::MIME')) { # filter altered message
 } # else { accept
 
 PublicInbox::MDA->set_list_headers($mime, $dst);
-my $git = PublicInbox::Git->new($main_repo);
-my $im = PublicInbox::Import->new($git, $dst->{name}, $recipient);
+my $v = $dst->{version} || 1;
+my $im;
+if ($v == 2) {
+       require PublicInbox::V2Writable;
+       $im = PublicInbox::V2Writable->new($dst);
+       $im->{parallel} = 0; # pointless to be parallel for a single message
+} elsif ($v == 1) {
+       my $git = $dst->git;
+       $im = PublicInbox::Import->new($git, $dst->{name}, $recipient, $dst);
+} else {
+       die "Unsupported inbox version: $v\n";
+}
 if (defined $im->add($mime)) {
        $emm = $emm->abort;
 } else {