From: Eric Wong Date: Sun, 25 Jul 2021 10:40:17 +0000 (+0000) Subject: init: support git <2.30 for "-c KEY=VALUE" args X-Git-Tag: v1.7.0~534 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=36020c1e6284f22c8c4b10b4e418f66f74b28a97;hp=ae74c666692f8056363c7adedd0edc4790439a8e;p=public-inbox.git 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. --- 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