From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 230CB1F934 for ; Mon, 27 Sep 2021 04:59:32 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 1/2] lei rediff: quiet warnings from Import and Eml Date: Mon, 27 Sep 2021 04:59:30 +0000 Message-Id: <20210927045931.18609-2-e@80x24.org> In-Reply-To: <20210927045931.18609-1-e@80x24.org> References: <20210927045931.18609-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: 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);