monotone: Fix recentchanges page when the srcdir is not at the top of the monotone workspace. Thanks, tommyd.

master
Joey Hess 2010-10-11 20:30:14 -04:00
parent 6dd49d0df7
commit 7ba0f7d297
3 changed files with 16 additions and 1 deletions

View File

@ -252,9 +252,20 @@ sub get_changed_files ($$) {
my @ret;
my %seen = ();
# we need to strip off the relative path to the source dir
# because monotone outputs all file paths absolute according
# to the workspace root
my $rel_src_dir = $config{'srcdir'};
$rel_src_dir =~ s/^\Q$config{'mtnrootdir'}\E\/?//;
$rel_src_dir .= "/" if length $rel_src_dir;
while ($changes =~ m/\s*(add_file|patch|delete|rename)\s"(.*?)(?<!\\)"\n/sg) {
my $file = $2;
# ignore all file changes outside the source dir
next unless $file =~ m/^\Q$rel_src_dir\E/;
$file =~ s/^\Q$rel_src_dir\E//;
# don't add the same file multiple times
if (! $seen{$file}) {
push @ret, $file;

2
debian/changelog vendored
View File

@ -12,6 +12,8 @@ ikiwiki (3.20100927) UNRELEASED; urgency=low
* actiontabs: More consistent styling of Hn tags.
* websetup: Fix saving of advanced mode changes.
* websetup: Fix defaults of checkboxes in advanced mode.
* monotone: Fix recentchanges page when the srcdir is not at the top
of the monotone workspace. Thanks, tommyd.
-- Joey Hess <joeyh@debian.org> Wed, 29 Sep 2010 11:58:23 -0400

View File

@ -1,3 +1,5 @@
The [[rcs/monotone]] backend does not currently support putting the ikiwiki srcdir
in a subdirectory of the repository. It must be at the top. Git has
special code to handle this case. --[[Joey]]
[[done]]