Photos
Blog
Projects
vanrenterghem.biz
projects
/
git.ikiwiki.info.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
img: restrict to JPEG, PNG and GIF images by default
[git.ikiwiki.info.git]
/
IkiWiki
/
Plugin
/
bzr.pm
diff --git
a/IkiWiki/Plugin/bzr.pm
b/IkiWiki/Plugin/bzr.pm
index 562d5d3893fcf5c2c0c6ba0b82e574c362f36891..e2b102dee9403014271edc26e6683eb7a1933e5a 100644
(file)
--- a/
IkiWiki/Plugin/bzr.pm
+++ b/
IkiWiki/Plugin/bzr.pm
@@
-5,6
+5,7
@@
use warnings;
use strict;
use IkiWiki;
use Encode;
use strict;
use IkiWiki;
use Encode;
+use URI::Escape q{uri_escape_utf8};
use open qw{:utf8 :std};
sub import {
use open qw{:utf8 :std};
sub import {
@@
-194,7
+195,7
@@
sub rcs_add ($) {
sub rcs_remove ($) {
my ($file) = @_;
sub rcs_remove ($) {
my ($file) = @_;
- my @cmdline = ("bzr", "rm", "--
force", "--
quiet", "$config{srcdir}/$file");
+ my @cmdline = ("bzr", "rm", "--quiet", "$config{srcdir}/$file");
if (system(@cmdline) != 0) {
warn "'@cmdline' failed: $!";
}
if (system(@cmdline) != 0) {
warn "'@cmdline' failed: $!";
}
@@
-242,8
+243,10
@@
sub rcs_recentchanges ($) {
# Skip source name in renames
$filename =~ s/^.* => //;
# Skip source name in renames
$filename =~ s/^.* => //;
+ my $efilename = uri_escape_utf8($filename);
+
my $diffurl = defined $config{'diffurl'} ? $config{'diffurl'} : "";
my $diffurl = defined $config{'diffurl'} ? $config{'diffurl'} : "";
- $diffurl =~ s/\[\[file\]\]/$filename/go;
+ $diffurl =~ s/\[\[file\]\]/$
e
filename/go;
$diffurl =~ s/\[\[file-id\]\]/$fileid/go;
$diffurl =~ s/\[\[r2\]\]/$info->{revno}/go;
$diffurl =~ s/\[\[file-id\]\]/$fileid/go;
$diffurl =~ s/\[\[r2\]\]/$info->{revno}/go;
@@
-271,8
+274,9
@@
sub rcs_recentchanges ($) {
return @ret;
}
return @ret;
}
-sub rcs_diff ($) {
+sub rcs_diff ($
;$
) {
my $taintedrev=shift;
my $taintedrev=shift;
+ my $maxlines=shift;
my ($rev) = $taintedrev =~ /^(\d+(\.\d+)*)$/; # untaint
my $prevspec = "before:" . $rev;
my ($rev) = $taintedrev =~ /^(\d+(\.\d+)*)$/; # untaint
my $prevspec = "before:" . $rev;
@@
-281,8
+285,11
@@
sub rcs_diff ($) {
"--new", $config{srcdir},
"-r", $prevspec . ".." . $revspec);
open (my $out, "@cmdline |");
"--new", $config{srcdir},
"-r", $prevspec . ".." . $revspec);
open (my $out, "@cmdline |");
-
- my @lines = <$out>;
+ my @lines;
+ while (my $line=<$out>) {
+ last if defined $maxlines && @lines == $maxlines;
+ push @lines, $line;
+ }
if (wantarray) {
return @lines;
}
if (wantarray) {
return @lines;
}
@@
-295,7
+302,7
@@
sub extract_timestamp (@) {
open (my $out, "-|", @_);
my @log = bzr_log($out);
open (my $out, "-|", @_);
my @log = bzr_log($out);
- if (length
@log
< 1) {
+ if (length
(scalar(@log))
< 1) {
return 0;
}
return 0;
}