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-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 78F241FA18 for ; Wed, 27 Jan 2021 09:42:31 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 5/9] gcf2: rely on Perl 5.10 to avoid needless ++ Date: Wed, 27 Jan 2021 03:42:26 -0600 Message-Id: <20210127094230.31174-6-e@80x24.org> In-Reply-To: <20210127094230.31174-1-e@80x24.org> References: <20210127094230.31174-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: And note the PublicInbox::Spawn side effect of setting PERL_INLINE_DIRECTORY. --- lib/PublicInbox/Gcf2.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/Gcf2.pm b/lib/PublicInbox/Gcf2.pm index 01b83c96..99f4ae04 100644 --- a/lib/PublicInbox/Gcf2.pm +++ b/lib/PublicInbox/Gcf2.pm @@ -5,7 +5,8 @@ # other libgit2 stuff may go here, too. package PublicInbox::Gcf2; use strict; -use PublicInbox::Spawn qw(which popen_rd); +use v5.10.1; +use PublicInbox::Spawn qw(which popen_rd); # may set PERL_INLINE_DIRECTORY use Fcntl qw(LOCK_EX); use IO::Handle; # autoflush my (%CFG, $c_src, $lockfh); @@ -73,6 +74,7 @@ sub add_alt ($$) { $gcf2->add_alternate($_) for @abs_alt; } $gcf2->add_alternate($objdir); + 1; } # Usage: $^X -MPublicInbox::Gcf2 -e PublicInbox::Gcf2::loop @@ -86,7 +88,7 @@ sub loop () { while () { chomp; my ($oid, $git_dir) = split(/ /, $_, 2); - $seen{$git_dir}++ or add_alt($gcf2, "$git_dir/objects"); + $seen{$git_dir} //= add_alt($gcf2, "$git_dir/objects"); if (!$gcf2->cat_oid(1, $oid)) { # retry once if missing. We only get unabbreviated OIDs # from SQLite or Xapian DBs, here, so malicious clients @@ -94,8 +96,7 @@ sub loop () { warn "I: $$ $oid missing, retrying in $git_dir\n"; $gcf2 = new(); - %seen = ($git_dir => 1); - add_alt($gcf2, "$git_dir/objects"); + %seen = ($git_dir => add_alt($gcf2,"$git_dir/objects")); if ($gcf2->cat_oid(1, $oid)) { warn "I: $$ $oid found after retry\n";