]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/bzr.pm
getsource: turn missing pages into a 404
[ikiwiki.git] / IkiWiki / Plugin / bzr.pm
index 16c959069e915c5ca746b609a1b753dbe1e42446..8830073672663b77d2e21fb837a15a913b7b6c0d 100644 (file)
@@ -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) = @_;