From 36020c1e6284f22c8c4b10b4e418f66f74b28a97 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 25 Jul 2021 10:40:17 +0000 Subject: init: support git <2.30 for "-c KEY=VALUE" args It turns out `--fixed-value' is a relatively new git-config(1) feature in git 2.30+ (December 2020). So use the quotemeta perlop for now since it seems compatible-enough for POSIX ERE used by git. --- script/public-inbox-init | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'script/public-inbox-init') diff --git a/script/public-inbox-init b/script/public-inbox-init index e22a0564..6fac4d18 100755 --- a/script/public-inbox-init +++ b/script/public-inbox-init @@ -231,8 +231,11 @@ run_die([@x, "$pfx.newsgroup", $ng]) if $ng ne ''; for my $kv (@c_extra) { my ($k, $v) = split(/=/, $kv, 2); - # --fixed-value for idempotent invocations - run_die([@x, qw(--replace-all --fixed-value), "$pfx.$k", $v, $v]); + # git 2.30+ has --fixed-value for idempotent invocations, + # but that's too new to depend on in 2021. Perl quotemeta + # seems compatible enough for POSIX ERE which git uses + my $re = '^'.quotemeta($v).'$'; + run_die([@x, qw(--replace-all), "$pfx.$k", $v, $re]); } # needed for git prior to v2.1.0 -- cgit v1.2.3-24-ge0c7