w/o confusing ikiwiki.
* Rcs modules are now imported, so other modules that need similar
normalisation of configs etc can do so.
unless exists $config{wikistatedir};
if ($config{rcs}) {
- eval qq{require IkiWiki::Rcs::$config{rcs}};
+ eval qq{use IkiWiki::Rcs::$config{rcs}};
if ($@) {
error("Failed to load RCS module IkiWiki::Rcs::$config{rcs}: $@");
}
use IkiWiki;
use POSIX qw(setlocale LC_CTYPE);
+package IkiWiki::Rcs::svn;
+
+sub import { #{{{
+ if (exists $IkiWiki::config{svnpath}) {
+ # code depends on the path not having extraneous slashes
+ $IkiWiki::config{svnpath}=~tr#/#/#s;
+ $IkiWiki::config{svnpath}=~s/\/$//;
+ $IkiWiki::config{svnpath}=~s/^\///;
+ }
+} #}}}
+
+
package IkiWiki;
-
+
# svn needs LC_CTYPE set to a UTF-8 locale, so try to find one. Any will do.
sub find_lc_ctype() {
my $current = setlocale(LC_CTYPE());
ikiwiki (2.3) UNRELEASED; urgency=low
* Corrected a typo in an error handler in the image plugin.
+ * Allow svnpath config option to contain additional extra slashes anywhere
+ w/o confusing ikiwiki.
+ * Rcs modules are now imported, so other modules that need similar
+ normalisation of configs etc can do so.
- -- Joey Hess <joeyh@debian.org> Tue, 19 Jun 2007 19:46:21 +0100
+ -- Joey Hess <joeyh@debian.org> Sat, 23 Jun 2007 13:10:06 +0100
ikiwiki (2.2) unstable; urgency=low
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-18 21:24+0100\n"
+"POT-Creation-Date: 2007-06-23 13:12+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "getctime not implemented"
msgstr ""
-#: ../IkiWiki/Rcs/svn.pm:206
+#: ../IkiWiki/Rcs/svn.pm:218
msgid ""
"REV is not set, not running from svn post-commit hook, cannot send "
"notifications"
}
}
}
-use Test::More tests => 8;
+use Test::More tests => 12;
BEGIN { use_ok("IkiWiki"); }
system "svn commit $config{srcdir}/test2.mdwn -m \"$message\" >/dev/null";
@changes = IkiWiki::rcs_recentchanges(3);
-
is($#changes, 1);
is($changes[0]{message}[0]{"line"}, $message);
is($changes[0]{pages}[0]{"page"}, "test2.mdwn");
+is($changes[1]{pages}[0]{"page"}, "test1.mdwn");
+# extra slashes in the path shouldn't break things
+$config{svnpath} = "/trunk//";
+IkiWiki::checkconfig();
+@changes = IkiWiki::rcs_recentchanges(3);
+is($#changes, 1);
+is($changes[0]{message}[0]{"line"}, $message);
+is($changes[0]{pages}[0]{"page"}, "test2.mdwn");
is($changes[1]{pages}[0]{"page"}, "test1.mdwn");
system "rm -rf $dir";