When `--all' is passed to -index and similar commands, process
them in the same order as what is given in the config file.
This ensures predictable behavior so admins can ensure certain
inboxes see updated indices before others. For (upcoming)
external indices, this will ensure stable Xref: ordering for
predictable caching/memoization by NNTP clients.
my $min_ver = $opt->{-min_inbox_version} || 0;
my (@old, @ibxs);
my %dir2ibx;
+ my $all = $opt->{all} ? [] : undef;
if ($cfg) {
$cfg->each_inbox(sub {
my ($ibx) = @_;
my $path = abs_path($ibx->{inboxdir});
if (defined($path)) {
$dir2ibx{$path} = $ibx;
+ push @$all, $ibx if $all;
} else {
warn <<EOF;
W: $ibx->{name} $ibx->{inboxdir}: $!
}
});
}
- if ($opt->{all}) {
- my @all = values %dir2ibx;
- @all = grep { $_->version >= $min_ver } @all;
- push @ibxs, @all;
+ if ($all) {
+ @$all = grep { $_->version >= $min_ver } @$all;
+ @ibxs = @$all;
} else { # directories specified on the command-line
my $i = 0;
my @dirs = @$argv;