From: Eric Wong Date: Sat, 10 Sep 2022 20:10:24 +0000 (+0000) Subject: solver: do not show redundant URLs in log X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=66eb1f1d9d7eb8fe892e328f6a5e656d1df7836b;p=public-inbox.git solver: do not show redundant URLs in log Messages in /all/ can get duplicated at times due to list-appended signatures or buggy/malicious clients. They'll all show up based on /$INBOX/$MSGID/, so deduplicate the URLs to avoid noise. --- diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm index ac655f34..b723b48a 100644 --- a/lib/PublicInbox/SolverGit.pm +++ b/lib/PublicInbox/SolverGit.pm @@ -554,8 +554,9 @@ sub extract_diffs_done { my $diffs = delete $self->{tmp_diffs}; if (scalar @$diffs) { unshift @{$self->{patches}}, @$diffs; - dbg($self, "found $want->{oid_b} in " . join(" ||\n\t", - map { di_url($self, $_) } @$diffs)); + my %seen; # List::Util::uniq requires Perl 5.26+ :< + my @u = grep { !$seen{$_}++ } map { di_url($self, $_) } @$diffs; + dbg($self, "found $want->{oid_b} in " . join(" ||\n\t", @u)); ++$self->{nr_p}; # good, we can find a path to the oid we $want, now