]> Sergey Matveev's repositories - public-inbox.git/commitdiff
lei rediff: quiet warnings from Import and Eml
authorEric Wong <e@80x24.org>
Mon, 27 Sep 2021 04:59:30 +0000 (04:59 +0000)
committerEric Wong <e@80x24.org>
Mon, 27 Sep 2021 09:22:47 +0000 (09:22 +0000)
lei rediff is expected to see partial patch fragments and such,
so silence warnings when something isn't exactly a valid email
message.

lib/PublicInbox/LeiRediff.pm
t/solver_git.t

index ea9b2a643f9a0bb1334bdedca0c899e6840a3f35..f6960560f1a24c850863c7869d27b641a5ac00fd 100644 (file)
@@ -193,8 +193,15 @@ sub extract_oids { # Eml each_part callback
 
 sub input_eml_cb { # callback for all emails
        my ($self, $eml) = @_;
-       $self->{tmp_sto}->add_eml($eml);
-       $self->{tmp_sto}->done;
+       {
+               local $SIG{__WARN__} = sub {
+                       return if "@_" =~ /^no email in From: .*? or Sender:/;
+                       return if PublicInbox::Eml::warn_ignore(@_);
+                       warn @_;
+               };
+               $self->{tmp_sto}->add_eml($eml);
+               $self->{tmp_sto}->done;
+       }
        $eml->each_part(\&extract_oids, $self, 1);
 }
 
index d5f4c4a02758d4ad8de142f59ef3461c9b067997..3c0b7f6524c67b7d78d17e99ad5e484581b33f3c 100644 (file)
@@ -93,6 +93,7 @@ index 15ac20eb..771486c4
 EOM
        like($lei_out, qr/\Q$exp\E/,
                'preserve mode, regen header + context from -U0 patch');
+       is($lei_err, '', 'no warnings from bare patch');
        my $e = { GIT_DIR => "$ENV{HOME}/.local/share/lei/store/ALL.git" };
        my @x = xqx([qw(git cat-file --batch-all-objects --batch-check)], $e);
        is_deeply(\@x, [], 'no objects stored') or diag explain(\@x);