summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Rcs/svn.pm21
-rw-r--r--debian/changelog6
2 files changed, 20 insertions, 7 deletions
diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm
index 761a40a27..987469ba0 100644
--- a/IkiWiki/Rcs/svn.pm
+++ b/IkiWiki/Rcs/svn.pm
@@ -187,14 +187,17 @@ sub rcs_recentchanges ($) { #{{{
$committype="svn";
}
- foreach (keys %{$logentry->{paths}}) {
- next unless ! length $config{svnpath} ||
- /^\/\Q$config{svnpath}\E\/([^ ]+)(?:$|\s)/;
- my $file=$1;
+ foreach my $file (keys %{$logentry->{paths}}) {
+ if (length $config{svnpath}) {
+ next unless $file=~/^\/\Q$config{svnpath}\E\/([^ ]+)(?:$|\s)/;
+ $file=$1;
+ }
+
my $diffurl=$config{diffurl};
$diffurl=~s/\[\[file\]\]/$file/g;
$diffurl=~s/\[\[r1\]\]/$rev - 1/eg;
$diffurl=~s/\[\[r2\]\]/$rev/g;
+
push @pages, {
page => pagename($file),
diffurl => $diffurl,
@@ -231,9 +234,13 @@ sub rcs_notify () { #{{{
my @changed_pages;
foreach my $change (`svnlook changed $config{svnrepo} -r $rev`) {
chomp $change;
- if (! length $config{svnpath} ||
- $change =~ /^[A-Z]+\s+\Q$config{svnpath}\E\/(.*)/) {
- push @changed_pages, $1;
+ if (length $config{svnpath}) {
+ if ($change =~ /^[A-Z]+\s+\Q$config{svnpath}\E\/(.*)/) {
+ push @changed_pages, $1;
+ }
+ }
+ else {
+ push @changed_pages, $change;
}
}
diff --git a/debian/changelog b/debian/changelog
index eef365b83..03c308831 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ikiwiki (2.11) UNRELEASED; urgency=low
+
+ * Correct a pair of logic errors that triggered if svnpath was empty.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 21 Oct 2007 18:49:40 -0400
+
ikiwiki (2.10) unstable; urgency=low
* Tidy ctime debug output for git.