aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/darcs.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-12-29 19:58:49 -0400
committerJoey Hess <joey@kitenet.net>2010-12-29 19:58:49 -0400
commit4fb26f4e60f2df282fc972e4b8506ccd306de789 (patch)
treeba95769fbc59a296364076fd2e649f3ebc0438af /IkiWiki/Plugin/darcs.pm
parent7d48813166c637e5bb2e11ef690fc7521716bd31 (diff)
downloadikiwiki-4fb26f4e60f2df282fc972e4b8506ccd306de789.tar
ikiwiki-4fb26f4e60f2df282fc972e4b8506ccd306de789.tar.gz
Add a second parameter to the rcs_diff hook, and avoid bloating memory reading in enormous commits.
Diffstat (limited to 'IkiWiki/Plugin/darcs.pm')
-rw-r--r--IkiWiki/Plugin/darcs.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/darcs.pm b/IkiWiki/Plugin/darcs.pm
index 0f63b8807..cd4fcd0ff 100644
--- a/IkiWiki/Plugin/darcs.pm
+++ b/IkiWiki/Plugin/darcs.pm
@@ -373,11 +373,13 @@ sub rcs_recentchanges ($) {
return @ret;
}
-sub rcs_diff ($) {
+sub rcs_diff ($;$) {
my $rev=shift;
+ my $maxlines=shift;
my @lines;
foreach my $line (silentsystem("darcs", "diff", "--match", "hash ".$rev)) {
if (@lines || $line=~/^diff/) {
+ last if defined $maxlines && @lines == $maxlines;
push @lines, $line."\n";
}
}