]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/mercurial.pm
"tekschen" is a repeat spammer
[git.ikiwiki.info.git] / IkiWiki / Plugin / mercurial.pm
index c7f920ab9bfd023e45184e700c8b15e782d7e234..8da4ceb07ada8f026e908be1004d060e9e21adeb 100644 (file)
@@ -5,6 +5,7 @@ use warnings;
 use strict;
 use IkiWiki;
 use Encode;
+use URI::Escape q{uri_escape_utf8};
 use open qw{:utf8 :std};
 
 sub import {
@@ -265,7 +266,8 @@ sub rcs_recentchanges ($) {
 
                foreach my $file (split / /,$info->{files}) {
                        my $diffurl = defined $config{diffurl} ? $config{'diffurl'} : "";
-                       $diffurl =~ s/\[\[file\]\]/$file/go;
+                       my $efile = uri_escape_utf8($file);
+                       $diffurl =~ s/\[\[file\]\]/$efile/go;
                        $diffurl =~ s/\[\[r2\]\]/$info->{changeset}/go;
 
                        push @pages, {
@@ -361,15 +363,8 @@ sub findtimes ($$) {
                print $tmpl_fh 'file = "{file}\\n"' . "\n";
                
                foreach my $line (run_or_die('hg', 'log', '--style', $tmpl_filename)) {
-                       # {date} gives output on the form
-                       # 1310694511.0-7200
-                       # where the first number is UTC Unix timestamp with one
-                       # decimal (decimal always 0, at least on my system)
-                       # followed by local timezone offset from UTC in
-                       # seconds.
-                       if (! defined $date && $line =~ /^\d+\.\d[+-]\d*$/) {
-                               $line =~ s/^(\d+).*/$1/;
-                               $date=$line;
+                       if (! defined $date && $line =~ /^(\d+)/) {
+                               $date=$1;
                        }
                        elsif (! length $line) {
                                $date=undef;