From c5b8b0cbc72b8133c70d68668047219342e886d1 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 27 Sep 2021 04:59:30 +0000 Subject: lei rediff: quiet warnings from Import and Eml 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 | 11 +++++++++-- t/solver_git.t | 1 + 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); -- cgit v1.2.3-24-ge0c7