diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-06-23 12:12:59 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-06-23 12:12:59 +0000 |
commit | 3bfa109971637f4f813968f69f70921c23445dbe (patch) | |
tree | 2a4b9dfce606413a23d0d806b252aabc9369188c | |
parent | 9a122f001aa44af70b8a6c0861c1ab869d4379f7 (diff) |
* 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.
-rw-r--r-- | IkiWiki.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Rcs/svn.pm | 14 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | po/ikiwiki.pot | 4 | ||||
-rwxr-xr-x | t/svn.t | 11 |
5 files changed, 30 insertions, 7 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index fdb62f7da..96da3ba9d 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -126,7 +126,7 @@ sub checkconfig () { #{{{ 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}: $@"); } diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm index c5e977bce..761a40a27 100644 --- a/IkiWiki/Rcs/svn.pm +++ b/IkiWiki/Rcs/svn.pm @@ -5,8 +5,20 @@ use strict; 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()); diff --git a/debian/changelog b/debian/changelog index c8ff8ba5d..c1f4cb479 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,12 @@ 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 diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index 240436092..1fde3f4cc 100644 --- a/po/ikiwiki.pot +++ b/po/ikiwiki.pot @@ -8,7 +8,7 @@ msgid "" 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" @@ -444,7 +444,7 @@ msgstr "" 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" @@ -14,7 +14,7 @@ BEGIN { } } } -use Test::More tests => 8; +use Test::More tests => 12; 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"; @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"; |