about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/LeiRediff.pm11
-rw-r--r--t/solver_git.t1
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/PublicInbox/LeiRediff.pm b/lib/PublicInbox/LeiRediff.pm
index ea9b2a64..f6960560 100644
--- a/lib/PublicInbox/LeiRediff.pm
+++ b/lib/PublicInbox/LeiRediff.pm
@@ -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);
 }
 
diff --git a/t/solver_git.t b/t/solver_git.t
index d5f4c4a0..3c0b7f65 100644
--- a/t/solver_git.t
+++ b/t/solver_git.t
@@ -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);