Our code doesn't support multi-values for these, and having
unexpected arrays leads to unexpected results (e.g. showing
stuff like "ARRAY(0xDEADBEEFADD12E55)" in user interfaces). So
warn and only use the last value (matching git-config(1)
behavior without `--get-all').
(cherry picked from commit
c8fe4673056571ed251c3a20cb0bbec586c60bd6)
my ($self, $pfx) = @_;
my $ibx = {};
my ($self, $pfx) = @_;
my $ibx = {};
- foreach my $k (qw(inboxdir filter newsgroup
- watch httpbackendmax
- replyto feedmax nntpserver
- indexlevel indexsequentialshard)) {
+ for my $k (qw(watch nntpserver)) {
my $v = $self->{"$pfx.$k"};
$ibx->{$k} = $v if defined $v;
}
my $v = $self->{"$pfx.$k"};
$ibx->{$k} = $v if defined $v;
}
+ for my $k (qw(filter inboxdir newsgroup replyto httpbackendmax feedmax
+ indexlevel indexsequentialshard)) {
+ if (defined(my $v = $self->{"$pfx.$k"})) {
+ if (ref($v) eq 'ARRAY') {
+ warn <<EOF;
+W: $pfx.$k has multiple values, only using `$v->[-1]'
+EOF
+ $ibx->{$k} = $v->[-1];
+ } else {
+ $ibx->{$k} = $v;
+ }
+ }
+ }
# backwards compatibility:
$ibx->{inboxdir} //= $self->{"$pfx.mainrepo"};
# backwards compatibility:
$ibx->{inboxdir} //= $self->{"$pfx.mainrepo"};