aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Rcs
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Rcs')
-rw-r--r--IkiWiki/Rcs/svn.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm
index 71517f215..560eb38a3 100644
--- a/IkiWiki/Rcs/svn.pm
+++ b/IkiWiki/Rcs/svn.pm
@@ -104,8 +104,15 @@ sub rcs_recentchanges ($) { #{{{
eval q{use CGI 'escapeHTML'};
eval q{use Date::Parse};
eval q{use Time::Duration};
+ eval q{use XML::SAX};
eval q{use XML::Simple};
+ # avoid using XML::SAX::PurePerl, it's buggy with UTF-8 data
+ my @parsers = map { ${$_}{Name} } @{XML::SAX->parsers()};
+ do {
+ $XML::Simple::PREFERRED_PARSER = pop @parsers;
+ } until $XML::Simple::PREFERRED_PARSER ne 'XML::SAX::PurePerl';
+
# --limit is only supported on Subversion 1.2.0+
my $svn_version=`svn --version -q`;
my $svn_limit='';