diff options
Diffstat (limited to 'IkiWiki/Plugin/bzr.pm')
-rw-r--r-- | IkiWiki/Plugin/bzr.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/bzr.pm b/IkiWiki/Plugin/bzr.pm index 16c959069..883007367 100644 --- a/IkiWiki/Plugin/bzr.pm +++ b/IkiWiki/Plugin/bzr.pm @@ -255,6 +255,26 @@ sub rcs_recentchanges ($) { return @ret; } +sub rcs_diff ($) { + my $taintedrev=shift; + my ($rev) = $taintedrev =~ /^(\d+(\.\d+)*)$/; # untaint + + my $prevspec = "before:" . $rev; + my $revspec = "revno:" . $rev; + my @cmdline = ("bzr", "diff", "--old", $config{srcdir}, + "--new", $config{srcdir}, + "-r", $prevspec . ".." . $revspec); + open (my $out, "@cmdline |"); + + my @lines = <$out>; + if (wantarray) { + return @lines; + } + else { + return join("", @lines); + } +} + sub rcs_getctime ($) { my ($file) = @_; |