push @$hdr_lines, $l;
$di->{hdr_lines} = $hdr_lines;
+ utf8::encode($_) for @$hdr_lines;
print $tmp @$hdr_lines or die "print(tmp): $!";
# for debugging/diagnostics:
$di->{ibx} = $ibx;
$di->{smsg} = $smsg;
- } elsif ($l =~ m!\Adiff --git ("?a/.+) ("?b/.+)$!) {
+ } elsif ($l =~ m!\Adiff --git ("?[^/]+/.+) ("?[^/]+/.+)$!) {
last if $tmp; # got our blob, done!
my ($path_a, $path_b) = ($1, $2);
$di->{path_b} = join('/', @b);
$hdr_lines = [ $l ];
} elsif ($tmp) {
+ utf8::encode($l);
print $tmp $l or die "print(tmp): $!";
} elsif ($hdr_lines) {
push @$hdr_lines, $l;
sub extract_old_mode ($) {
my ($di) = @_;
- if (grep(/\Aold mode (100644|100755|120000)$/, @{$di->{hdr_lines}})) {
+ if (join('', @{$di->{hdr_lines}}) =~
+ /^old mode (100644|100755|120000)\b/) {
return $1;
}
'100644';