}
sub finalise_opts_opts () {
+ foreach my $k (keys %opts_opt_map) {
+ my $om = $opts_opt_map{$k};
+
+ my $v = access_cfg("cmd-$k", 'RETURN-UNDEF');
+ if (defined $v) {
+ badcfg "cannot set command for $k"
+ unless length $om->[0];
+ $om->[0] = $v;
+ }
+
+ foreach my $c (access_cfg_cfgs("opts-$k")) {
+ local ($debuglevel) = $debuglevel-2;
+ my @cmd = (@git, qw(config -z --get-all), $c);
+ my $vs = cmdoutput_errok @cmd;
+ if ($?==0) {
+ badcfg "cannot configure options for $k"
+ if $opts_opt_cmdonly{$k};
+ push @$om, split /\0/, $vs;
+ } elsif ($?==256) {
+ die "$k $c ?" if length $vs;
+ } else {
+ failedcmd @cmd;
+ }
+ }
+ }
+
foreach my $k (keys %opts_opt_cmdline_opts) {
push @{ $opts_opt_map{$k} }, @{ $opts_opt_cmdline_opts{$k} };
}