]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/bzr.pm
response
[git.ikiwiki.info.git] / IkiWiki / Plugin / bzr.pm
index 783623dee1d841207be58412de21d8a2f24567d6..1ffdc23535d81578b9fab129953659028a6ec96e 100644 (file)
@@ -36,6 +36,7 @@ sub getsetup () {
                plugin => {
                        safe => 0, # rcs plugin
                        rebuild => undef,
+                       section => "rcs",
                },
                bzr_wrapper => {
                        type => "string",
@@ -256,7 +257,23 @@ sub rcs_recentchanges ($) {
 }
 
 sub rcs_diff ($) {
-       # TODO
+       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 ($) {