We don't want to be holding references to temporary directories
longer than necessary, an Gcf is intended to be long-lived.
---
 lib/PublicInbox/GitAsyncCat.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/GitAsyncCat.pm b/lib/PublicInbox/GitAsyncCat.pm
index c12c4ec2..b32c2fd3 100644
--- a/lib/PublicInbox/GitAsyncCat.pm
+++ b/lib/PublicInbox/GitAsyncCat.pm
@@ -51,7 +51,8 @@ sub ibx_async_cat ($$$$) {
        # {topdir} means ExtSearch (likely [extindex "all"]) with potentially
        # 100K alternates.  git(1) has a proposed patch for 100K alternates:
        # <https://lore.kernel.org/git/[email protected]/>
-       if (!defined($ibx->{topdir}) && ($GCF2C //= eval {
+       if (!defined($ibx->{topdir}) && !defined($git->{-tmp}) &&
+               ($GCF2C //= eval {
                require PublicInbox::Gcf2Client;
                PublicInbox::Gcf2Client::new();
        } // 0)) { # 0: do not retry if libgit2 or Inline::C are missing

Reply via email to