From 07225b371bb3258766e135d099588d603506f788 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 27 Jan 2021 03:42:26 -0600 Subject: gcf2: rely on Perl 5.10 to avoid needless ++ 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"; -- cgit v1.2.3-24-ge0c7