From: joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Date: Wed, 5 Jul 2006 17:40:07 +0000 (+0000)
Subject: * Patch from Faidon to use svn --limit when possible for recentchanges,
X-Git-Tag: 1.9~33
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/97e6f39dd0643ec9ce2f9d3488941d9e768c4392

* Patch from Faidon to use svn --limit when possible for recentchanges,
  speeds up recentchanges a lot for wikis with more history.
---

diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm
index be4106a02..71517f215 100644
--- a/IkiWiki/Rcs/svn.pm
+++ b/IkiWiki/Rcs/svn.pm
@@ -105,9 +105,15 @@ sub rcs_recentchanges ($) { #{{{
 	eval q{use Date::Parse};
 	eval q{use Time::Duration};
 	eval q{use XML::Simple};
-	
+
+	# --limit is only supported on Subversion 1.2.0+
+	my $svn_version=`svn --version -q`;
+	my $svn_limit='';
+	$svn_limit="--limit $num"
+		if $svn_version =~ /\d\.(\d)\.\d/ && $1 >= 2;
+
 	my $svn_url=svn_info("URL", $config{srcdir});
-	my $xml = XMLin(scalar `svn --xml -v log '$svn_url'`,
+	my $xml = XMLin(scalar `svn $svn_limit --xml -v log '$svn_url'`,
 		ForceArray => [ 'logentry', 'path' ],
 		GroupTags => { paths => 'path' },
 		KeyAttr => { path => 'content' },
diff --git a/debian/changelog b/debian/changelog
index 77d5af571..4d1cea8a9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,10 @@
 ikiwiki (1.9) UNRELEASED; urgency=low
 
   * Improve display of parentlinks and page title of toplevel index page.
+  * Patch from Faidon to use svn --limit when possible for recentchanges,
+    speeds up recentchanges a lot for wikis with more history.
 
- -- Joey Hess <joeyh@debian.org>  Tue,  4 Jul 2006 15:41:16 -0400
+ -- Joey Hess <joeyh@debian.org>  Wed,  5 Jul 2006 13:33:59 -0400
 
 ikiwiki (1.8) unstable; urgency=low
 
diff --git a/doc/roadmap.mdwn b/doc/roadmap.mdwn
index bbdfd9ede..e2b74e4be 100644
--- a/doc/roadmap.mdwn
+++ b/doc/roadmap.mdwn
@@ -18,7 +18,7 @@ Released 29 April 2006.
 * [[Tags]] _(status: partial)_
 * Should have fully working [[todo/utf8]] support. _(status: fair)_
 * [[Optimised_rendering|todo/optimisations]] if possible. Deal with other
-  scalability issues. _(status: 45%-60% speedup since 1.0)_
+  scalability issues. _(status: 45%-60%+ speedup since 1.0)_
 * Improved [[todo/html]] stylesheets and templates.
 * Improved scalable [[logo]]. _(status: done)_
 * Support for at least one RCS aside from svn. Once it supports two, it should