@@ -48,7 +48,7 @@ my %field_spec= (
48
48
my $Collate = Unicode::Collate-> new(level => 1, indentical => 1);
49
49
my @field_codes = sort keys %field_spec ;
50
50
my @field_names = map { $field_spec {$_ } } @field_codes ;
51
- my $tformat = " =" . join " %x00 " , map { " %" . $_ } @field_codes ;
51
+ my $tformat = " =" . join " %x09 " , map { " %" . $_ } @field_codes ;
52
52
53
53
sub _make_name_author_info {
54
54
my ($self , $commit_info , $name_key )= @_ ;
@@ -158,7 +158,10 @@ sub read_commit_log {
158
158
159
159
my $last_commit_info ;
160
160
my $cmd = qq( git log --pretty='format:$tformat ' $numstat $commit_range ) ;
161
- open my $fh , " $cmd |" ;
161
+ $cmd =~s / '/ "/ g if $^O=~/ Win/ ;
162
+ open my $fh , " -|" , $cmd
163
+ or die " Failed to open pipe: $! " ;
164
+ binmode ($fh );
162
165
while (defined (my $line = <$fh >)) {
163
166
chomp $line ;
164
167
$line = decode_utf8($line );
@@ -187,7 +190,7 @@ sub read_commit_log {
187
190
$commits_read ++;
188
191
my $commit_info = {};
189
192
$last_commit_info = $commit_info ;
190
- @{$commit_info }{@field_names }= split /\0 /, $line , 0 + @field_names ;
193
+ @{$commit_info }{@field_names }= split /\t /, $line , 0 + @field_names ;
191
194
192
195
my $author_name_mm_canon =
193
196
$self -> _make_name_author_info($commit_info , " author_name_mm" );
0 commit comments