diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-10-21 22:57:11 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-10-21 22:57:11 +0000 |
commit | 19cfec2654924b8834d6d582966e3cc8875a8c9d (patch) | |
tree | d6f860f79d15adf7f0a1db90e1c81d4106deb1bc /IkiWiki/Rcs | |
parent | b75e57f126e818e982455a47e95b49c85ff57ecd (diff) | |
download | ikiwiki-19cfec2654924b8834d6d582966e3cc8875a8c9d.tar ikiwiki-19cfec2654924b8834d6d582966e3cc8875a8c9d.tar.gz |
* Correct a pair of logic errors that triggered if svnpath was empty.
Diffstat (limited to 'IkiWiki/Rcs')
-rw-r--r-- | IkiWiki/Rcs/svn.pm | 21 |
1 files changed, 14 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; } } |