- my $dd_new = $cls->can("dedupe_$dd") //
- die "unsupported dedupe strategy: $dd\n";
- bless [ $dd_new->() ], $cls; # [ $skv, $cb ]
+ my $dst = $lei->{ovv}->{dst};
+
+ # allow "none" to bypass Eml->new if writing to directory:
+ return if ($dd eq 'none' && substr($dst // '', -1) eq '/');
+ my $m = "dedupe_$dd";
+ $cls->can($m) or die "unsupported dedupe strategy: $dd\n";
+ my $skv;
+ if ($dd ne 'none') {
+ require PublicInbox::SharedKV;
+ $skv = PublicInbox::SharedKV->new;
+ }
+ # [ $skv, $eml_cb, $smsg_cb, "dedupe_$dd" ]
+ bless [ $skv, undef, undef, $m ], $cls;