-
- while (defined(my $oid = pop(@$multi_mid))) {
- $self->{current_info} = "multi_mid $oid";
- reindex_oid_m($self, $sync, $git, $oid);
+ my $min = $multi_mid->{min};
+ my $max = $multi_mid->{max};
+ if ($sync->{reindex}) {
+ # we may need to create new Message-IDs if mirrors
+ # were initially indexed with old versions
+ for (my $i = $max; $i >= $min; $i--) {
+ my $oid;
+ $oid = $multi_mid->get_oid($i, $self) or next;
+ next unless defined $oid;
+ reindex_oid_m($self, $sync, $git, $oid);
+ }
+ } else { # regen on initial index
+ for my $num ($min..$max) {
+ my $oid;
+ $oid = $multi_mid->get_oid($num, $self) or next;
+ reindex_oid_m($self, $sync, $git, $oid, $num);
+ }