use File::Temp 0.19 (); # 0.19 for ->newdir
use Fcntl qw(SEEK_SET);
use PublicInbox::Git qw(git_unquote git_quote);
-use PublicInbox::MsgIter qw(msg_iter msg_part_text);
+use PublicInbox::MsgIter qw(msg_part_text);
use PublicInbox::Qspawn;
use PublicInbox::Tmpfile;
use URI::Escape qw(uri_escape_utf8);
}
}
- my $msgs = $srch->query($q, { relevance => 1 });
-
+ my $mset = $srch->mset($q, { relevance => 1 });
my $diffs = [];
- foreach my $smsg (@$msgs) {
- $ibx->smsg_mime($smsg) or next;
- msg_iter(delete $smsg->{mime}, \&extract_diff,
+ for my $smsg (@{$srch->mset_to_smsg($ibx, $mset)}) {
+ my $eml = $ibx->smsg_eml($smsg) or next;
+ $eml->each_part(\&extract_diff,
[$self, $diffs, $pre, $post, $ibx, $smsg], 1);
}
@$diffs ? $diffs : undef;
}
# recreate $oid_want using $hints
-# hints keys: path_a, path_b, oid_a
+# hints keys: path_a, path_b, oid_a (note: `oid_b' is NOT a hint)
# Calls {user_cb} with: [ ::Git object, oid_full, type, size, di (diff_info) ]
# with found object, or undef if nothing was found
# Calls {user_cb} with a string error on fatal errors