]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Rcs/bzr.pm
web commit by http://smcv.pseudorandom.co.uk/
[git.ikiwiki.info.git] / IkiWiki / Rcs / bzr.pm
index 43822fe8ffad4cc7fe2f73689d0d97b3c8f757fa..0dc456de2c1fc652b48491f1584e17e0341f5b59 100644 (file)
@@ -1,13 +1,13 @@
 #!/usr/bin/perl
 
+package IkiWiki;
+
 use warnings;
 use strict;
 use IkiWiki;
 use Encode;
 use open qw{:utf8 :std};
 
-package IkiWiki;
-
 sub bzr_log ($) { #{{{
        my $out = shift;
        my @infos = ();
@@ -43,7 +43,7 @@ sub bzr_log ($) { #{{{
 } #}}}
 
 sub rcs_update () { #{{{
-       my @cmdline = ("bzr", $config{srcdir}, "update");
+       my @cmdline = ("bzr", "update", "--quiet", $config{srcdir});
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
@@ -71,7 +71,7 @@ sub rcs_commit ($$$;$$) { #{{{
                $message = "no message given";
        }
 
-       my @cmdline = ("bzr", "commit", "-m", $message, "--author", $user,
+       my @cmdline = ("bzr", "commit", "--quiet", "-m", $message, "--author", $user,
                       $config{srcdir}."/".$file);
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
@@ -83,7 +83,7 @@ sub rcs_commit ($$$;$$) { #{{{
 sub rcs_add ($) { # {{{
        my ($file) = @_;
 
-       my @cmdline = ("bzr", "add", "$config{srcdir}/$file");
+       my @cmdline = ("bzr", "add", "--quiet", "$config{srcdir}/$file");
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
@@ -92,10 +92,8 @@ sub rcs_add ($) { # {{{
 sub rcs_recentchanges ($) { #{{{
        my ($num) = @_;
 
-       eval q{use CGI 'escapeHTML'};
-       error($@) if $@;
-
-       my @cmdline = ("bzr", "log", "-v", "--limit", $num, $config{srcdir});
+       my @cmdline = ("bzr", "log", "-v", "--show-ids", "--limit", $num, 
+                          $config{srcdir});
        open (my $out, "@cmdline |");
 
        eval q{use Date::Parse};
@@ -111,12 +109,14 @@ sub rcs_recentchanges ($) { #{{{
                }
 
                foreach my $file (split(/\n/, $info->{files})) {
+                       my ($filename, $fileid) = split(/[ \t]+/, $file);
                        my $diffurl = $config{'diffurl'};
-                       $diffurl =~ s/\[\[file\]\]/$file/go;
+                       $diffurl =~ s/\[\[file\]\]/$filename/go;
+                       $diffurl =~ s/\[\[file-id\]\]/$fileid/go;
                        $diffurl =~ s/\[\[r2\]\]/$info->{revno}/go;
 
                        push @pages, {
-                               page => pagename($file),
+                               page => pagename($filename),
                                diffurl => $diffurl,
                        };
                }