]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/bzr.pm
Merge branch 'master' into sipb
[ikiwiki.git] / IkiWiki / Plugin / bzr.pm
index 16c959069e915c5ca746b609a1b753dbe1e42446..1ffdc23535d81578b9fab129953659028a6ec96e 100644 (file)
@@ -36,6 +36,7 @@ sub getsetup () {
                plugin => {
                        safe => 0, # rcs plugin
                        rebuild => undef,
+                       section => "rcs",
                },
                bzr_wrapper => {
                        type => "string",
@@ -255,6 +256,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) = @_;