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 ea9b2a643f9a..f6960560f1a2 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 d5f4c4a02758..3c0b7f6524c6 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);
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/