From: Eric Wong <e@80x24.org>
Date: Thu, 11 Mar 2021 10:45:37 +0000 (-0800)
Subject: config: use '-f' key to store config file pathname
X-Git-Tag: v1.7.0~1018
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=f8911d2ec389880adb5faca49f1fdf816a819561;p=public-inbox.git

config: use '-f' key to store config file pathname

This fixes ->urlmatch use from lei, which already sets '-f'.
I noticed this because imap.$URL.compress was ignored in
my lei config file.
---

diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm
index a4b1756d..87a03fd3 100644
--- a/lib/PublicInbox/Config.pm
+++ b/lib/PublicInbox/Config.pm
@@ -26,6 +26,7 @@ sub new {
 		$self = config_fh_parse($fh, "\n", '=');
 	} else {
 		$self = git_config_dump($file);
+		$self->{'-f'} = $file;
 	}
 	bless $self, $class;
 	# caches
@@ -505,7 +506,7 @@ sub urlmatch {
 	my ($self, $key, $url) = @_;
 	state $urlmatch_broken; # requires git 1.8.5
 	return if $urlmatch_broken;
-	my $file = default_file();
+	my $file = $self->{'-f'} // default_file();
 	my $cmd = [qw/git config -z --includes --get-urlmatch/,
 		"--file=$file", $key, $url ];
 	my $fh = popen_rd($cmd);