- my @msgs;
- while (my $smsg = shift @{$res->{msgs}}) {
- my $m = $smsg->mid;
-
- # Duplicated from WWW.pm
- my ($x2, $x38) = ($m =~ /\A([a-f0-9]{2})([a-f0-9]{38})\z/);
-
- unless (defined $x38) {
- require Digest::SHA;
- $m = Digest::SHA::sha1_hex($m);
- ($x2, $x38) = ($m =~ /\A([a-f0-9]{2})([a-f0-9]{38})\z/);
- }
-
- # FIXME: duplicated code from Feed.pm
- my $mime = eval {
- my $str = $git->cat_file("HEAD:$x2/$x38");
- Email::MIME->new($str);
- };
- unless ($@) {
- my $t = eval { str2time($mime->header('Date')) };
- defined($t) or $t = 0;
- $mime->header_set('X-PI-TS', $t);
- push @msgs, $mime;
- }
- }