}
} elsif (-d _ && $ifmt eq 'mh') {
my $mhr = PublicInbox::MHreader->new($input.'/', $lei->{3});
- $mhr->{sort} = $lei->{opt}->{sort};
+ $mhr->{sort} = $lei->{opt}->{sort} // [ 'sequence'];
$mhr->mh_each_eml($self->can('input_mh_cb'), $self, @args);
} elsif (-d _ && $ifmt =~ /\A(?:v1|v2)\z/) {
my $ibx = PublicInbox::Inbox->new({inboxdir => $input});
opendir(my $dh, my $dir = $self->{dir});
my $restore = PublicInbox::OnDestroy->new($$, \&chdir, $self->{cwdfh});
chdir($dh);
- if (defined(my $sort = $self->{sort})) {
+ my $sort = $self->{sort};
+ if (defined $sort && "@$sort" ne 'none') {
my @sort = map {
my @tmp = $_ eq '' ? ('sequence') : split(/[, ]/);
# sorting by name alphabetically makes no sense for MH:
use PublicInbox::Lock;
use PublicInbox::OnDestroy;
use PublicInbox::Eml;
+use File::Path qw(remove_tree);
use autodie;
opendir my $cwdfh, '.';
like $lei_out, qr/^Subject: msg 4\nStatus: RO\n\n\n/ms,
"message retrieved after `lei index'";
+ lei_ok qw(convert -s none -f text), "mh:$for_sort", \'--sort=none';
+
# ensure sort works for _input_ when output disallows sort
my $v2out = "$ENV{HOME}/v2-out";
- lei_ok qw(convert -s sequence), "mh:$for_sort", '-o', "v2:$v2out";
- my $git = PublicInbox::Git->new("$v2out/git/0.git");
- chomp(my @l = $git->qx(qw(log --pretty=oneline --format=%s)));
- is_xdeeply \@l, [1, 22, 333], 'sequence order preserved for v2';
+ for my $sort (['--sort=sequence'], []) { # sequence is the default
+ lei_ok qw(convert), @$sort, "mh:$for_sort", '-o', "v2:$v2out";
+ my $g = PublicInbox::Git->new("$v2out/git/0.git");
+ chomp(my @l = $g->qx(qw(log --pretty=oneline --format=%s)));
+ is_xdeeply \@l, [1, 22, 333], 'sequence order preserved for v2';
+ File::Path::remove_tree $v2out;
+ }
});
done_testing;