X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/7ba0f7d297e7d3e833756016b635ffa0cc78200e..040038b6559140b4a8c04396098ade2b4d4573b9:/IkiWiki/Plugin/monotone.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/monotone.pm b/IkiWiki/Plugin/monotone.pm
index 75bf2f458..38313a542 100644
--- a/IkiWiki/Plugin/monotone.pm
+++ b/IkiWiki/Plugin/monotone.pm
@@ -42,7 +42,7 @@ sub checkconfig () {
 
 	my $version=undef;
 	while (<MTN>) {
-		if (/^monotone (\d+\.\d+) /) {
+		if (/^monotone (\d+\.\d+)(?:(?:\.\d+){0,2}|dev)? /) {
 			$version=$1;
 		}
 	}
@@ -621,8 +621,9 @@ sub rcs_recentchanges ($) {
 	return @ret;
 }
 
-sub rcs_diff ($) {
+sub rcs_diff ($;$) {
 	my $rev=shift;
+	my $maxlines=shift;
 	my ($sha1) = $rev =~ /^($sha1_pattern)$/; # untaint
 	
 	chdir $config{srcdir}
@@ -633,7 +634,11 @@ sub rcs_diff ($) {
 		exec("mtn", "diff", "--root=$config{mtnrootdir}", "-r", "p:".$sha1, "-r", $sha1) || error("mtn diff $sha1 failed to run");
 	}
 
-	my (@lines) = <MTNDIFF>;
+	my @lines;
+	while (my $line=<MTNDIFF>) {
+		last if defined $maxlines && @lines == $maxlines;
+		push @lines, $line;
+	}
 
 	close MTNDIFF || debug("mtn diff $sha1 exited $?");