* 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.master
parent
9a122f001a
commit
3bfa109971
|
@ -126,7 +126,7 @@ sub checkconfig () { #{{{
|
||||||
unless exists $config{wikistatedir};
|
unless exists $config{wikistatedir};
|
||||||
|
|
||||||
if ($config{rcs}) {
|
if ($config{rcs}) {
|
||||||
eval qq{require IkiWiki::Rcs::$config{rcs}};
|
eval qq{use IkiWiki::Rcs::$config{rcs}};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
error("Failed to load RCS module IkiWiki::Rcs::$config{rcs}: $@");
|
error("Failed to load RCS module IkiWiki::Rcs::$config{rcs}: $@");
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,20 @@ use strict;
|
||||||
use IkiWiki;
|
use IkiWiki;
|
||||||
use POSIX qw(setlocale LC_CTYPE);
|
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;
|
package IkiWiki;
|
||||||
|
|
||||||
# svn needs LC_CTYPE set to a UTF-8 locale, so try to find one. Any will do.
|
# svn needs LC_CTYPE set to a UTF-8 locale, so try to find one. Any will do.
|
||||||
sub find_lc_ctype() {
|
sub find_lc_ctype() {
|
||||||
my $current = setlocale(LC_CTYPE());
|
my $current = setlocale(LC_CTYPE());
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
ikiwiki (2.3) UNRELEASED; urgency=low
|
ikiwiki (2.3) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Corrected a typo in an error handler in the image plugin.
|
* 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
|
ikiwiki (2.2) unstable; urgency=low
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \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"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -444,7 +444,7 @@ msgstr ""
|
||||||
msgid "getctime not implemented"
|
msgid "getctime not implemented"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/Rcs/svn.pm:206
|
#: ../IkiWiki/Rcs/svn.pm:218
|
||||||
msgid ""
|
msgid ""
|
||||||
"REV is not set, not running from svn post-commit hook, cannot send "
|
"REV is not set, not running from svn post-commit hook, cannot send "
|
||||||
"notifications"
|
"notifications"
|
||||||
|
|
11
t/svn.t
11
t/svn.t
|
@ -14,7 +14,7 @@ BEGIN {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use Test::More tests => 8;
|
use Test::More tests => 12;
|
||||||
|
|
||||||
BEGIN { use_ok("IkiWiki"); }
|
BEGIN { use_ok("IkiWiki"); }
|
||||||
|
|
||||||
|
@ -51,11 +51,18 @@ system "svn add $config{srcdir}/test2.mdwn >/dev/null";
|
||||||
system "svn commit $config{srcdir}/test2.mdwn -m \"$message\" >/dev/null";
|
system "svn commit $config{srcdir}/test2.mdwn -m \"$message\" >/dev/null";
|
||||||
|
|
||||||
@changes = IkiWiki::rcs_recentchanges(3);
|
@changes = IkiWiki::rcs_recentchanges(3);
|
||||||
|
|
||||||
is($#changes, 1);
|
is($#changes, 1);
|
||||||
is($changes[0]{message}[0]{"line"}, $message);
|
is($changes[0]{message}[0]{"line"}, $message);
|
||||||
is($changes[0]{pages}[0]{"page"}, "test2.mdwn");
|
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");
|
is($changes[1]{pages}[0]{"page"}, "test1.mdwn");
|
||||||
|
|
||||||
system "rm -rf $dir";
|
system "rm -rf $dir";
|
||||||
|
|
Loading…
Reference in New Issue