aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/bzr.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2012-03-13 11:49:29 -0400
committerJoey Hess <joey@kitenet.net>2012-03-13 11:50:39 -0400
commitf0733e6b9650e518edbc635b7fdb22b44155732d (patch)
tree89fad2ea5357c93f166aab079cc80a215b21df11 /IkiWiki/Plugin/bzr.pm
parentd903f2c2fa337c28ef1369caa606dd012100ad4e (diff)
downloadikiwiki-f0733e6b9650e518edbc635b7fdb22b44155732d.tar
ikiwiki-f0733e6b9650e518edbc635b7fdb22b44155732d.tar.gz
URI escape filename when generating the diffurl.
ikiwiki source files can contain at least one character that needs to be escaped in an url: +
Diffstat (limited to 'IkiWiki/Plugin/bzr.pm')
-rw-r--r--IkiWiki/Plugin/bzr.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/bzr.pm b/IkiWiki/Plugin/bzr.pm
index 3bc4ea8dd..72552abcc 100644
--- a/IkiWiki/Plugin/bzr.pm
+++ b/IkiWiki/Plugin/bzr.pm
@@ -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 {
@@ -242,8 +243,10 @@ sub rcs_recentchanges ($) {
# Skip source name in renames
$filename =~ s/^.* => //;
+ my $efilename = uri_escape_utf8($filename);
+
my $diffurl = defined $config{'diffurl'} ? $config{'diffurl'} : "";
- $diffurl =~ s/\[\[file\]\]/$filename/go;
+ $diffurl =~ s/\[\[file\]\]/$efilename/go;
$diffurl =~ s/\[\[file-id\]\]/$fileid/go;
$diffurl =~ s/\[\[r2\]\]/$info->{revno}/go;