]> Sergey Matveev's repositories - public-inbox.git/commitdiff
init: support git <2.30 for "-c KEY=VALUE" args
authorEric Wong <e@80x24.org>
Sun, 25 Jul 2021 10:40:17 +0000 (10:40 +0000)
committerEric Wong <e@80x24.org>
Sun, 25 Jul 2021 10:40:45 +0000 (10:40 +0000)
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

index e22a0564c4e4b9673e77b65200ed88cdd0f8000b..6fac4d184d14a822e2f9324cb841fbe26ecc4612 100755 (executable)
@@ -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