]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/darcs.pm
darcs: Fix multiple issues preventing rcs_diff from working.
[ikiwiki.git] / IkiWiki / Plugin / darcs.pm
index 0f63b8807902fbd0d3f2478b1a2c66cbf6066e24..1313041e78fe9c61588c04a53bae58e4e22d33d5 100644 (file)
@@ -373,11 +373,14 @@ 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)) {
+       my $repodir=$config{srcdir};
+       foreach my $line (`darcs diff --repodir  $repodir --match 'hash $rev'`) {
                if (@lines || $line=~/^diff/) {
+                       last if defined $maxlines && @lines == $maxlines;
                        push @lines, $line."\n";
                }
        }