X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/57d10171e342046cc6062e5053186920ea04d486..dfcd4c299a2a36cacb1de29c67559ac3869e90c8:/IkiWiki/Rcs/git.pm diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm index 3fedd64f1..6cbcfd14e 100644 --- a/IkiWiki/Rcs/git.pm +++ b/IkiWiki/Rcs/git.pm @@ -1,12 +1,10 @@ #!/usr/bin/perl -# Git backend for IkiWiki. -# Copyright 2006 Recai Oktaş -# -# Licensed under the same terms as IkiWiki. use warnings; use strict; use IkiWiki; +use Encode; +use open qw{:utf8 :std}; package IkiWiki; @@ -161,7 +159,7 @@ sub _parse_diff_tree (@) { #{{{ my %ci; # Header line. HEADER: while (my $line = shift @{ $dt_ref }) { - return if $line !~ m/^diff-tree ($sha1_pattern)/; + return if $line !~ m/^(.+) ($sha1_pattern)/; my $sha1 = $1; $ci{'sha1'} = $sha1; @@ -232,7 +230,7 @@ sub _parse_diff_tree (@) { #{{{ } if (length $file) { push @{ $ci{'details'} }, { - 'file' => $file, + 'file' => decode_utf8($file), 'sha1_from' => $sha1_from, 'sha1_to' => $sha1_to, }; @@ -264,6 +262,8 @@ sub git_commit_info (;$$) { #{{{ push @ci, $parsed; } + warn "Cannot parse commit info for '$sha1' commit" if !@ci; + return wantarray ? @ci : $ci[0]; } #}}} @@ -420,10 +420,7 @@ sub rcs_notify () { #{{{ my $sha1 = 'HEAD'; # the commit which triggers this action my $ci = git_commit_info($sha1); - if (!defined $ci) { - warn "Cannot parse info for '$sha1' commit"; - return; - } + return if !defined $ci; my @changed_pages = map { $_->{'file'} } @{ $ci->{'details'} }; @@ -454,9 +451,7 @@ sub rcs_notify () { #{{{ } $subject .= " by $user"; - my $template = HTML::Template->new( - filename => "$config{templatedir}/notifymail.tmpl" - ); + my $template = template("notifymail.tmpl"); $template->param( wikiname => $config{wikiname}, diff => $diff,