use Fcntl qw(LOCK_EX SEEK_SET);
use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
use IO::Handle; # autoflush
-use File::Path qw(make_path);
use PublicInbox::Git;
BEGIN {
my (%CFG, $c_src);
# PublicInbox::Spawn will set PERL_INLINE_DIRECTORY
- # to ~/.cache/public-inbox/inline-c if it exists
+ # to ~/.cache/public-inbox/inline-c if it exists and Inline::C works
my $inline_dir = $ENV{PERL_INLINE_DIRECTORY} //
die 'PERL_INLINE_DIRECTORY not defined';
- make_path($inline_dir);
my $f = "$inline_dir/.public-inbox.lock";
open my $fh, '+>', $f or die "open($f): $!";
# retry once if missing. We only get unabbreviated OIDs
# from SQLite or Xapian DBs, here, so malicious clients
# can't trigger excessive retries:
- warn "I: $$ $oid missing, retrying in $git_dir\n";
+ warn "# $$ $oid missing, retrying in $git_dir\n";
$gcf2 = new();
%seen = ($git_dir => add_alt($gcf2, $git_dir));
$check_at = clock_gettime(CLOCK_MONOTONIC) + $exp;
if ($gcf2->cat_oid(1, $oid)) {
- warn "I: $$ $oid found after retry\n";
+ warn "# $$ $oid found after retry\n";
} else {
warn "W: $$ $oid missing after retry\n";
print "$oid missing\n"; # mimic git-cat-file