From: Joey Hess Date: Sat, 2 Feb 2013 23:39:25 +0000 (+1100) Subject: Merge remote-tracking branch 'schmonz/cvs' X-Git-Tag: 3.20130212~7 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/c6d41f92283616b15233ade70d33f0919f995a44?hp=c8270ad05c7b7183c1c5b71b8324363b6d40fe73 Merge remote-tracking branch 'schmonz/cvs' --- diff --git a/IkiWiki/Plugin/cvs.pm b/IkiWiki/Plugin/cvs.pm index 788f51167..841aec914 100644 --- a/IkiWiki/Plugin/cvs.pm +++ b/IkiWiki/Plugin/cvs.pm @@ -216,14 +216,12 @@ sub rcs_add ($) { while ($file = pop @files_to_add) { if (@files_to_add == 0) { - # file cvs_runcvs('add', cvs_keyword_subst_args($file)) || - warn("cvs add $file failed\n"); + warn("cvs add file $file failed\n"); } else { - # directory cvs_runcvs('add', $file) || - warn("cvs add $file failed\n"); + warn("cvs add dir $file failed\n"); } } } @@ -316,7 +314,9 @@ sub rcs_recentchanges ($) { $oldrev =~ s/INITIAL/0/; $newrev =~ s/\(DEAD\)//; my $diffurl = defined $config{diffurl} ? $config{diffurl} : ""; - my $epage = uri_escape_utf8($page); + my $epage = join('/', + map { uri_escape_utf8($_) } split('/', $page) + ); $diffurl=~s/\[\[file\]\]/$epage/g; $diffurl=~s/\[\[r1\]\]/$oldrev/g; $diffurl=~s/\[\[r2\]\]/$newrev/g; @@ -396,11 +396,15 @@ sub rcs_diff ($;$) { my @cvsps = `env TZ=UTC cvsps -q --cvs-direct -z 30 -g -s $rev`; my $blank_lines_seen = 0; + # skip log, get to the diff while (my $line = shift @cvsps) { $blank_lines_seen++ if ($line =~ /^$/); last if $blank_lines_seen == 2; } + @cvsps = @cvsps[0..$maxlines-1] + if defined $maxlines && @cvsps > $maxlines; + if (wantarray) { return @cvsps; } @@ -491,24 +495,53 @@ sub cvs_keyword_subst_args ($) { my $filemime = File::MimeInfo::default($file); # if (-T $file) { - if (defined($filemime) && $filemime eq 'text/plain') { - return ($file); - } - else { - return ('-kb', $file); - } + defined($filemime) && $filemime eq 'text/plain' + ? return ('-kkv', $file) + : return ('-kb', $file); } sub cvs_runcvs(@) { my @cmd = @_; unshift @cmd, 'cvs', '-Q'; - local $CWD = $config{srcdir}; + # CVS can't operate outside a srcdir, so we're always setting $CWD. + # "local $CWD" restores the previous value when we go out of scope. + # Usually that's correct. But if we're removing the last file from + # a directory, the post-commit hook will exec in a working directory + # that's about to not exist (CVS will prune it). + # + # chdir() manually here, so we can selectively not chdir() back. + + my $oldcwd = $CWD; + chdir($config{srcdir}); + + eval q{ + use IPC::Open3; + use Symbol qw(gensym); + use IO::File; + }; + error($@) if $@; + + my $cvsout = ''; + my $cvserr = ''; + local *CATCHERR = IO::File->new_tmpfile; + my $pid = open3(gensym(), \*CATCHOUT, ">&CATCHERR", @cmd); + while (my $l = ) { + $cvsout .= $l + unless 1; + } + waitpid($pid, 0); + my $ret = $? >> 8; + seek CATCHERR, 0, 0; + while (my $l = ) { + $cvserr .= $l + unless $l =~ /^cvs commit: changing keyword expansion /; + } + + print STDOUT $cvsout; + print STDERR $cvserr; - open(my $savedout, ">&STDOUT"); - open(STDOUT, ">", "/dev/null"); - my $ret = system(@cmd); - open(STDOUT, ">&", $savedout); + chdir($oldcwd) if -d $oldcwd; return ($ret == 0) ? 1 : 0; } diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index 06be36dfc..84b4b5a2f 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -28,10 +28,11 @@ sub gen_wrappers () { %config=(%origconfig); } +our $program_to_wrap = $0; sub gen_wrapper () { $config{srcdir}=File::Spec->rel2abs($config{srcdir}); $config{destdir}=File::Spec->rel2abs($config{destdir}); - my $this=File::Spec->rel2abs($0); + my $this=File::Spec->rel2abs($program_to_wrap); if (! -x $this) { error(sprintf(gettext("%s doesn't seem to be executable"), $this)); } diff --git a/ikiwiki.spec b/ikiwiki.spec index 6df191250..89f6d8c24 100644 --- a/ikiwiki.spec +++ b/ikiwiki.spec @@ -1,5 +1,5 @@ Name: ikiwiki -Version: 3.20121212 +Version: 3.20121213 Release: 1%{?dist} Summary: A wiki compiler diff --git a/po/bg.po b/po/bg.po index 2ab4f5cdf..ace53ad3e 100644 --- a/po/bg.po +++ b/po/bg.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki-bg\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2007-01-12 01:19+0200\n" "Last-Translator: Damyan Ivanov \n" "Language-Team: Bulgarian \n" @@ -64,73 +64,73 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, fuzzy, perl-format msgid "missing %s parameter" msgstr "липсващ параметър „id” на шаблона" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "нов източник" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "съобщения" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "ново" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "премахване на „%s” (на %s дни)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "премахване на „%s”" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "проверка на източника „%s”" -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "не е намерен източник на адрес „%s”" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 #, fuzzy msgid "feed not found" msgstr "шаблонът „%s” не е намерен" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "данните от източника предизвикаха грешка в модула XML::Feed!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "създаване на нова страницa „%s”" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "грешка при обработване на шаблона" @@ -764,11 +764,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "гласуване" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Общо гласове:" @@ -1081,7 +1085,7 @@ msgstr "" msgid "failed to generate image from code" msgstr "грешка при запис на файла „%s”: %s" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1248,31 +1252,31 @@ msgstr "" msgid "generating wrappers.." msgstr "генериране на обвивки..." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "„%s” не е изпълним файл" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "не може да бъде създадена обвивка, която използва файл за настройки" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "не е указан файл на обвивката" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "крешка при компилиране на файла %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "успешно генериране на %s" diff --git a/po/cs.po b/po/cs.po index a43b035cd..07489c8cf 100644 --- a/po/cs.po +++ b/po/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2009-09-11 20:23+0200\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" @@ -64,72 +64,72 @@ msgstr "Agregace spuštěna přes web." msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "Není třeba nic dělat, všechny kanály jsou aktuální!" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "chybí parametr %s" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "nový kanál" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "příspěvky" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "nový" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "expiruji %s (stará %s dnů)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "expiruji %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "poslední kontrola %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "kontroluji kanál %s ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "nemohu najít kanál na %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "kanál nebyl nalezen" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(neplatné UTF-8 bylo z kanálu odstraněno)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(entity byly v kanálu zakódovány)" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "kanál shodil XML::Feed!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "vytvářím novou stránku %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "nepodařilo se zpracovat:" @@ -760,11 +760,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "hlasovat" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Celkem hlasů:" @@ -1065,7 +1069,7 @@ msgstr "chybí TeXový kód" msgid "failed to generate image from code" msgstr "z kódu se nepodařilo vygenerovat obrázek" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1239,31 +1243,31 @@ msgstr "** Deaktivuji modul %s, protože selhává s touto hláškou:" msgid "generating wrappers.." msgstr "generuji obaly..." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s není spustitelný soubor" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "nemohu vytvořit obal, který využívá soubor setup" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "jméno souboru s obalem nebylo zadáno" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "nelze zkompilovat %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "%s byl úspěšně vytvořen" diff --git a/po/da.po b/po/da.po index 2a05ba215..1b14c0b41 100644 --- a/po/da.po +++ b/po/da.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.20110430\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2011-05-05 13:30+0200\n" "Last-Translator: Jonas Smedegaard \n" "Language-Team: None\n" @@ -68,72 +68,72 @@ msgstr "Indsamling udløst via web." msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "Intet at gøre lige nu, alle fødninger er tidssvarende!" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "mangler parametren %s" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "ny fødning" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "indlæg" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "nyt" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "udløber %s (%s dage gammel)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "udløber %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "senest undersøgt %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "undersøger fødning %s ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "kunne ikke finde fødning ved %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "fødning ikke fundet" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(defekt UTF-8 fjernet fra fødning)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(fødningselementer omgået (escaped))" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "fødning fik XML::Feed til at bryde sammen!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "opretter ny side %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 msgid "failed to process template:" msgstr "behandling af skabelon mislykkedes:" @@ -762,11 +762,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "%s har forkert syntaks: skal bruge CODE|NAME" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "stem" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Samlede stemmer:" @@ -1067,7 +1071,7 @@ msgstr "manglende tex-kode" msgid "failed to generate image from code" msgstr "billedopbygning fra kode mislykkedes" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1241,31 +1245,31 @@ msgstr "** Deaktiverer udvidelse %s, da den fejler med denne besked:" msgid "generating wrappers.." msgstr "bygger wrappers.." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s ser ikke ud til at kunne afvikles" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "kan ikke oprette en wrapper som bruger en opsætningsfil" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "wrapper-navn ikke angivet" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "kompilering af %s mislykkedes" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "Korrekt bygget %s" diff --git a/po/de.po b/po/de.po index c19fedb5a..bba40e79f 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.14159\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2010-03-14 16:09+0530\n" "Last-Translator: Sebastian Kuhnert \n" "Language-Team: German \n" @@ -65,72 +65,72 @@ msgstr "Das Web löst die Zusammenstellung aus" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "Es gibt nichts zu tun, alle Vorlagen (feeds) sind aktuell!" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "Parameter %s fehlt" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "neue Vorlage (feed)" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "Beiträge" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "neu" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "%s läuft aus (%s Tage alt)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "%s läuft aus" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "zuletzt geprüft %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "überprüfe Vorlage (feed) %s ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "konnte Vorlage (feed) unter %s nicht finden" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "Vorlage (feed) nicht gefunden" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(ungültiges UTF-8 wurde aus der Vorlage (feed) entfernt)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(Einträge in der Vorlage (feed) wurden maskiert)" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "Vorlage (feed) führte zum Absturz von XML::Feed!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "erstelle neue Seite %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "Fehler beim Ablauf:" @@ -772,11 +772,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "abstimmen" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Alle Stimmen:" @@ -1079,7 +1083,7 @@ msgstr "fehlender TeX-Code" msgid "failed to generate image from code" msgstr "konnte kein Bild aus dem Code erzeugen" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1259,31 +1263,31 @@ msgstr "" msgid "generating wrappers.." msgstr "erzeuge Wrapper.." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s scheint nicht ausführbar zu sein" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "Kann keinen Wrapper erzeugen, der eine Einrichtungsdatei verwendet" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "Dateiname des Wrappers nicht angegeben" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "erzeugen von %s fehlgeschlagen" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "%s wurde erfolgreich erstellt" diff --git a/po/es.po b/po/es.po index d215c1b4e..917fc49be 100644 --- a/po/es.po +++ b/po/es.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2009-06-14 12:32+0200\n" "Last-Translator: Victor Moral \n" "Language-Team: \n" @@ -70,72 +70,72 @@ msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" "¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "falta el parámetro %s" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "nueva entrada" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "entradas" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "nuevo" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "%s caducada (%s días de antigüedad)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "%s caducada" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "última comprobación el %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "comprobando fuente de datos %s ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "no puedo encontrar la fuente de datos en %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "fuente de datos no encontrada" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(una secuencia UTF-8 inválida ha sido eliminada de la fuente de datos)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(los caracteres especiales de la fuente de datos están exceptuados)" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "¡ la fuente de datos ha provocado un error fatal en XML::Feed !" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "creando nueva página %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "se ha producido un error fatal mientras procesaba la plantilla:" @@ -775,11 +775,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "Votar" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Recuento de votos:" @@ -1084,7 +1088,7 @@ msgstr "falta el código tex" msgid "failed to generate image from code" msgstr "no he podido crear la imagen desde el código" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1263,32 +1267,32 @@ msgstr "" msgid "generating wrappers.." msgstr "generando programas auxiliares.." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "el programa %s no parece ser ejecutable" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "" "no puedo crear un programa envoltorio que utiliza un archivo de configuración" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "el programa envoltorio no ha sido especificado" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "ha fallado la compilación del programa %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "creado con éxito el programa envoltorio %s" diff --git a/po/fr.po b/po/fr.po index aef6a2a1d..5e4d414b6 100644 --- a/po/fr.po +++ b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.141\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2010-10-03 10:42+0200\n" "Last-Translator: Philippe Batailler \n" "Language-Team: French \n" @@ -66,72 +66,72 @@ msgstr "Agrégation déclenchée par le web" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "Rien à faire pour le moment, tous les flux sont à jour !" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "Paramètre %s manquant" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "Nouveau flux" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "Articles" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "Nouveau" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "Fin de validité de %s (date de %s jours)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "Fin de validité de %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "dernière vérification : %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "Vérification du flux %s..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "Impossible de trouver de flux à %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "Flux introuvable " -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(chaîne UTF-8 non valable supprimée du flux)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(échappement des entités de flux)" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "Plantage du flux XML::Feed !" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "Création de la nouvelle page %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 msgid "failed to process template:" msgstr "Échec du traitementdu modèle :" @@ -769,11 +769,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "La syntaxe de %s n'est pas correcte : il faut utiliser CODE|NOM" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "Voter" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Total des suffrages :" @@ -1076,7 +1080,7 @@ msgstr "Il manque le code TeX" msgid "failed to generate image from code" msgstr "Échec de la création de l'image à partir du code" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1256,32 +1260,32 @@ msgstr "" msgid "generating wrappers.." msgstr "Création des fichiers CGI..." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s ne semble pas être exécutable" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "" "Impossible de créer un fichier CGI utilisant un fichier de configuration" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "Le nom du fichier CGI n'a pas été indiqué" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "Échec de la compilation de %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "%s a été créé avec succès" diff --git a/po/gu.po b/po/gu.po index 9d2d53fad..7a47746d4 100644 --- a/po/gu.po +++ b/po/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki-gu\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2007-01-11 16:05+0530\n" "Last-Translator: Kartik Mistry \n" "Language-Team: Gujarati \n" @@ -63,72 +63,72 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "ખોવાયેલ %s વિકલ્પ" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "નવું ફીડ" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "પોસ્ટ" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "નવું" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "જુનું કરે છે %s (%s દિવસો જુનું)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "જુનું કરે છે %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "ફીડ %s ચકાસે છે ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "%s પર ફીડ મળી શક્યું નહી" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "ફીડ મળ્યું નહી" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, fuzzy, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "ફીડમાંથી અયોગ્ય રીતે UTF-8 નીકાળેલ છે" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "ફીડ ભાંગી ગયું XML::Feed!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "નવું પાનું %s બનાવે છે" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "ક્રિયા કરવામાં નિષ્ફળ:" @@ -755,11 +755,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "મત" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "કુલ મત:" @@ -1069,7 +1073,7 @@ msgstr "ખોવાયેલ કિંમતો" msgid "failed to generate image from code" msgstr "માપ બદલવામાં નિષ્ફળ: %s" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1236,31 +1240,31 @@ msgstr "" msgid "generating wrappers.." msgstr "આવરણ બનાવે છે.." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s એ ચલાવી શકાય તેમ લાગતું નથી" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "ગોઠવણ ફાઇલનો ઉપયોગ કરે છે તેનું આવરણ બનાવી શકાતું નથી" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "આવરણ ફાઇલનામ સ્પષ્ટ કરેલ નથી" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "%s કમ્પાઇલ કરવામાં નિષ્ફળ" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "સફળતાપૂર્વક પેદા કરેલ છે %s" diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index d1307cde5..fe83c4866 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: 2012-12-11 12:49-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,72 +64,72 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 msgid "failed to process template:" msgstr "" @@ -737,11 +737,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "" @@ -1042,7 +1046,7 @@ msgstr "" msgid "failed to generate image from code" msgstr "" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1209,31 +1213,31 @@ msgstr "" msgid "generating wrappers.." msgstr "" -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "" diff --git a/po/it.po b/po/it.po index 062f1c2a7..e5e25f39e 100644 --- a/po/it.po +++ b/po/it.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2009-08-16 11:01+0100\n" "Last-Translator: Luca Bruno \n" "Language-Team: Italian TP \n" @@ -63,72 +63,72 @@ msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" "Nessuna azione da intraprendere, tutti i notiziari sono già aggiornati." -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "parametro %s mancante" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "nuovo notiziario" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "articoli" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "nuovo" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "in scadenza %s (vecchio di %s giorni)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "in scadenza %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "ultimo controllo %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "controllo notiziario %s..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "impossibile trovare il notiziario %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "notiziario non trovato" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(codifica UTF-8 non valida eliminata dal notiziario)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(entità del notiziario espanse con escape)" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "il notiziario ha fatto andare in crash XML::Feed." -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "creazione nuova pagina %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "errore nell'elaborazione:" @@ -769,11 +769,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "voto" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Voti totali:" @@ -1076,7 +1080,7 @@ msgstr "codice tex mancante" msgid "failed to generate image from code" msgstr "impossibile generare l'immagine dal codice" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1251,31 +1255,31 @@ msgstr "" msgid "generating wrappers.." msgstr "generazione contenitori..." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s non sembra essere eseguibile" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "impossibile creare un contenitore che utilizzi un file di setup" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "nome del file del contenitore non specificato" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "errore nel compilare %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "%s generato con successo" diff --git a/po/pl.po b/po/pl.po index 3b645d23e..50a4dd219 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 1.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2007-04-27 22:05+0200\n" "Last-Translator: Pawel Tecza \n" "Language-Team: Debian L10n Polish \n" @@ -66,73 +66,73 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, fuzzy, perl-format msgid "missing %s parameter" msgstr "brakujący parametr %s" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "nowy kanał RSS" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "wpisy" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "nowy wpis" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "wygasający wpis %s (ma już %s dni)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "wygasający wpis %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "sprawdzanie kanału RSS %s..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "nie znaleziono kanału RSS pod adresem %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 #, fuzzy msgid "feed not found" msgstr "nieznaleziony kanał RSS" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, fuzzy, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "Nieprawidłowe kodowanie UTF-8 usunięte z kanału RSS" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "awaria kanału RSS w module XML::Feed!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "tworzenie nowej strony %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "awaria w trakcie przetwarzania:" @@ -768,11 +768,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "głosuj" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Oddane głosy:" @@ -1090,7 +1094,7 @@ msgstr "brakujące wartości" msgid "failed to generate image from code" msgstr "awaria w trakcie zmiany rozmiaru: %s" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1257,31 +1261,31 @@ msgstr "" msgid "generating wrappers.." msgstr "tworzenie osłon..." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "osłona %s nie jest wykonywalna" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "awaria w trakcie tworzenia osłony używającej pliku konfiguracyjnego" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "nieokreślona nazwa pliku osłony" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "awaria w trakcie kompilowania %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "pomyślnie utworzono %s" diff --git a/po/sv.po b/po/sv.po index cebd63d86..320eb9900 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2007-01-10 23:47+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -63,73 +63,73 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, fuzzy, perl-format msgid "missing %s parameter" msgstr "mall saknar id-parameter" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "ny kanal" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "inlägg" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "ny" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "låter %s gå ut (%s dagar gammal)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "låter %s gå ut" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "kontrollerar kanalen %s ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "kunde inte hitta kanalen på %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 #, fuzzy msgid "feed not found" msgstr "mallen %s hittades inte" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "kanalen kraschade XML::Feed!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "skapar nya sidan %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "misslyckades med att behandla mall:" @@ -760,11 +760,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "röst" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Antal röster:" @@ -1076,7 +1080,7 @@ msgstr "" msgid "failed to generate image from code" msgstr "misslyckades med att skriva %s: %s" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1243,31 +1247,31 @@ msgstr "" msgid "generating wrappers.." msgstr "genererar wrappers.." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "%s verkar inte vara körbar" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "kan inte skapa en wrapper som använder en konfigurationsfil" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "filnamn för wrapper har inte angivits" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "misslyckades med att kompilera %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "generering av %s lyckades" diff --git a/po/tr.po b/po/tr.po index b29e2c6d8..ae1bf6ad4 100644 --- a/po/tr.po +++ b/po/tr.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.20091031\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2009-11-08 03:04+0200\n" "Last-Translator: Recai Oktaş \n" "Language-Team: Turkish \n" @@ -60,72 +60,72 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, perl-format msgid "missing %s parameter" msgstr "%s parametresi eksik" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "yeni özet akışı" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "gönderi" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "yeni" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "%s için zaman aşımı (%s gün eski)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "%s için zaman aşımı" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "son güncelleme: %s" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "%s özet akışı denetleniyor ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "%s özet akışı bulunamadı" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 msgid "feed not found" msgstr "özet akışı bulunamadı" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "(geçersiz UTF-8 dizgisi özet akışından çıkarıldı)" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "(özet akışı girdileri işlendi)" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "özet akışı XML::Feed'in çakılmasına yol açtı!" -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "%s için yeni sayfa oluşturuluyor" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 msgid "failed to process template:" msgstr "" @@ -734,11 +734,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "" @@ -1039,7 +1043,7 @@ msgstr "" msgid "failed to generate image from code" msgstr "" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1207,31 +1211,31 @@ msgstr "" msgid "generating wrappers.." msgstr "" -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "" diff --git a/po/vi.po b/po/vi.po index 0d9f5736f..26fa35c9a 100644 --- a/po/vi.po +++ b/po/vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 15:16-0400\n" +"POT-Creation-Date: 2013-02-02 14:16-0500\n" "PO-Revision-Date: 2007-01-13 15:31+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" @@ -64,73 +64,73 @@ msgstr "" msgid "Nothing to do right now, all feeds are up-to-date!" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:237 +#: ../IkiWiki/Plugin/aggregate.pm:236 #, fuzzy, perl-format msgid "missing %s parameter" msgstr "mẫu thiếu tham số id" -#: ../IkiWiki/Plugin/aggregate.pm:272 +#: ../IkiWiki/Plugin/aggregate.pm:271 msgid "new feed" msgstr "nguồn tin mới" -#: ../IkiWiki/Plugin/aggregate.pm:286 +#: ../IkiWiki/Plugin/aggregate.pm:285 msgid "posts" msgstr "bài" -#: ../IkiWiki/Plugin/aggregate.pm:288 +#: ../IkiWiki/Plugin/aggregate.pm:287 msgid "new" msgstr "mới" -#: ../IkiWiki/Plugin/aggregate.pm:475 +#: ../IkiWiki/Plugin/aggregate.pm:474 #, perl-format msgid "expiring %s (%s days old)" msgstr "đang mãn hạn %s (cũ %s ngày)" -#: ../IkiWiki/Plugin/aggregate.pm:482 +#: ../IkiWiki/Plugin/aggregate.pm:481 #, perl-format msgid "expiring %s" msgstr "đang mãn hạn %s" -#: ../IkiWiki/Plugin/aggregate.pm:510 +#: ../IkiWiki/Plugin/aggregate.pm:509 #, perl-format msgid "last checked %s" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:514 +#: ../IkiWiki/Plugin/aggregate.pm:513 #, perl-format msgid "checking feed %s ..." msgstr "đang kiểm tra nguồn tin %s ..." -#: ../IkiWiki/Plugin/aggregate.pm:519 +#: ../IkiWiki/Plugin/aggregate.pm:518 #, perl-format msgid "could not find feed at %s" msgstr "không tìm thấy nguồn tin ở %s" -#: ../IkiWiki/Plugin/aggregate.pm:542 +#: ../IkiWiki/Plugin/aggregate.pm:541 #, fuzzy msgid "feed not found" msgstr "không tìm thấy mẫu %s" -#: ../IkiWiki/Plugin/aggregate.pm:553 +#: ../IkiWiki/Plugin/aggregate.pm:552 #, perl-format msgid "(invalid UTF-8 stripped from feed)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:561 +#: ../IkiWiki/Plugin/aggregate.pm:560 #, perl-format msgid "(feed entities escaped)" msgstr "" -#: ../IkiWiki/Plugin/aggregate.pm:569 +#: ../IkiWiki/Plugin/aggregate.pm:568 msgid "feed crashed XML::Feed!" msgstr "nguồn tin đã gây ra XML::Feed sụp đổ." -#: ../IkiWiki/Plugin/aggregate.pm:661 +#: ../IkiWiki/Plugin/aggregate.pm:660 #, perl-format msgid "creating new page %s" msgstr "đang tạo trang mới %s" -#: ../IkiWiki/Plugin/aggregate.pm:689 ../IkiWiki/Plugin/edittemplate.pm:135 +#: ../IkiWiki/Plugin/aggregate.pm:688 ../IkiWiki/Plugin/edittemplate.pm:135 #, fuzzy msgid "failed to process template:" msgstr "mẫu không xử lý được:" @@ -760,11 +760,15 @@ msgstr "" msgid "%s has invalid syntax: must use CODE|NAME" msgstr "" -#: ../IkiWiki/Plugin/poll.pm:70 +#: ../IkiWiki/Plugin/poll.pm:72 ../IkiWiki/Plugin/poll.pm:87 msgid "vote" msgstr "bỏ phiếu" -#: ../IkiWiki/Plugin/poll.pm:78 +#: ../IkiWiki/Plugin/poll.pm:86 +msgid "Write in" +msgstr "" + +#: ../IkiWiki/Plugin/poll.pm:93 msgid "Total votes:" msgstr "Tổng số phiếu :" @@ -1076,7 +1080,7 @@ msgstr "" msgid "failed to generate image from code" msgstr "lỗi ghi %s: %s" -#: ../IkiWiki/Plugin/trail.pm:363 +#: ../IkiWiki/Plugin/trail.pm:393 #, perl-format msgid "building %s, its previous or next page has changed" msgstr "" @@ -1243,31 +1247,31 @@ msgstr "" msgid "generating wrappers.." msgstr "đang tạo ra các bộ bao bọc.." -#: ../IkiWiki/Wrapper.pm:36 +#: ../IkiWiki/Wrapper.pm:37 #, perl-format msgid "%s doesn't seem to be executable" msgstr "có vẻ là %s không phải có khả năng thực hiện" -#: ../IkiWiki/Wrapper.pm:40 +#: ../IkiWiki/Wrapper.pm:41 msgid "cannot create a wrapper that uses a setup file" msgstr "không thể tạo bộ bao bọc sử dụng tập tin thiết lập" -#: ../IkiWiki/Wrapper.pm:44 +#: ../IkiWiki/Wrapper.pm:45 msgid "wrapper filename not specified" msgstr "chưa xác định tên tập tin bộ bao bọc" -#: ../IkiWiki/Wrapper.pm:108 +#: ../IkiWiki/Wrapper.pm:109 msgid "Please wait" msgstr "" #. translators: The parameter is a C filename. -#: ../IkiWiki/Wrapper.pm:267 +#: ../IkiWiki/Wrapper.pm:268 #, perl-format msgid "failed to compile %s" msgstr "lỗi biên dịch %s" #. translators: The parameter is a filename. -#: ../IkiWiki/Wrapper.pm:287 +#: ../IkiWiki/Wrapper.pm:288 #, perl-format msgid "successfully generated %s" msgstr "%s đã được tạo ra" diff --git a/t/cvs.t b/t/cvs.t index 9afd5a7e9..cbac43252 100755 --- a/t/cvs.t +++ b/t/cvs.t @@ -1,7 +1,7 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More; my $total_tests = 42; +use Test::More; my $total_tests = 72; use IkiWiki; my $default_test_methods = '^test_*'; @@ -26,14 +26,13 @@ sub test_web_comments { # - when the first comment for page.mdwn is added, and page/ is # created to hold the comment, page/ isn't added to CVS control, # so the comment isn't either + # - can't reproduce after chmod g+s ikiwiki.cgi (20120204) # - side effect for moderated comments: after approval they # show up normally AND are still pending, too # - comments.pm treats rcs_commit_staged() as returning conflicts? } sub test_chdir_magic { - # cvs.pm operations are always occurring inside $config{srcdir} - # other ikiwiki operations are occurring wherever, and are unaffected # when are we bothering with "local $CWD" and when aren't we? } @@ -52,12 +51,14 @@ sub test_cvs_run_cvs { # steal from git.pm: safe_git(), run_or_{die,cry,non} # - open() instead of system() # always call cvs_run_cvs(), don't ever run 'cvs' directly + # - for cvs_info(), make it respect wantarray } sub test_cvs_run_cvsps { # parameterize command like run_cvs() # expose config vars for e.g. "--cvs-direct -z 30" # always pass -x (unless proven otherwise) + # - but diff doesn't! optimization alert # always pass -b HEAD (configurable like gitmaster_branch?) } @@ -94,21 +95,43 @@ sub test_cvs_is_controlling { # TESTS FOR GENERAL PLUGIN API CALLS sub test_checkconfig { - # undef cvspath, expect "ikiwiki" - # define cvspath normally, get it back - # define cvspath in a subdir, get it back? - # define cvspath with extra slashes, get sanitized version back - # - yoink test_extra_path_slashes - # undef cvs_wrapper, expect $config{wrappers} same size as before - - my $initial_cvspath = $config{cvspath}; - $config{cvspath} = "/ikiwiki//"; + my $default_cvspath = 'ikiwiki'; + + undef $config{cvspath}; IkiWiki::checkconfig(); + is( + $config{cvspath}, $default_cvspath, + q{can provide default cvspath}, + ); + + $config{cvspath} = "/$default_cvspath/"; IkiWiki::checkconfig(); + is( + $config{cvspath}, $default_cvspath, + q{can set typical cvspath and strip well-meaning slashes}, + ); + + $config{cvspath} = "/$default_cvspath//subdir"; IkiWiki::checkconfig(); + is( + $config{cvspath}, "$default_cvspath/subdir", + q{can really sanitize cvspath as assumed by rcs_recentchanges}, + ); + + my $default_num_wrappers = @{$config{wrappers}}; + undef $config{cvs_wrapper}; IkiWiki::checkconfig(); + is( + @{$config{wrappers}}, $default_num_wrappers, + q{can start with no wrappers configured}, + ); + + $config{cvs_wrapper} = $config{cvsrepo} . "/CVSROOT/post-commit"; IkiWiki::checkconfig(); is( - $config{cvspath}, - $initial_cvspath, - q{rcs_recentchanges assumes checkconfig has sanitized cvspath}, + @{$config{wrappers}}, ++$default_num_wrappers, + q{can add cvs_wrapper}, ); + + undef $config{cvs_wrapper}; + $config{cvspath} = $default_cvspath; + IkiWiki::checkconfig(); } sub test_getsetup { @@ -132,6 +155,11 @@ sub test_rcs_prepedit { # for existing file, returns latest revision in repo # - what's this used for? should it return latest revision in checkout? # for new file, returns empty string + + # netbsd web log says "could not open lock file" + # XXX does this work right? + # how about with un-added dirs in the srcdir? + # how about with cvsps.core lying around? } sub test_rcs_commit { @@ -145,7 +173,8 @@ sub test_rcs_commit { # - else, revert + return content with the conflict markers in it # git.pm receives "session" param -- useful here? # web commits start with "web commit {by,from} " - # seeing File::chdir errors on commit? + + # XXX commit can fail due to "could not open lock file" } sub test_rcs_commit_staged { @@ -159,9 +188,21 @@ sub test_rcs_add { my $message = "add a top-level ASCII (non-UTF-8) page via VCS API"; my $file = q{test0.mdwn}; - add_and_commit($file, $message, q{* some plain ASCII text}); + add_and_commit($file, $message, qq{# \$Id\$\n* some plain ASCII text}); is_newly_added($file); - is_in_keyword_substitution_mode($file, undef); + is_in_keyword_substitution_mode($file, q{-kkv}); + like( + readfile($config{srcdir} . "/$file"), + qr/^# \$Id: $file,v 1\.1 .+\$$/m, + q{can expand RCS Id keyword}, + ); + my $generated_file = $config{destdir} . q{/test0/index.html}; + ok(-e $generated_file, q{post-commit hook generates content}); + like( + readfile($generated_file), + qr/^

\$Id: $file,v 1\.1 .+\$<\/h1>$/m, + q{can htmlize mdwn, including RCS Id}, + ); @changes = IkiWiki::rcs_recentchanges(3); is_total_number_of_changes(\@changes, 1); is_most_recent_change(\@changes, stripext($file), $message); @@ -187,7 +228,7 @@ sub test_rcs_add { $file = q{test4/test5/test1.mdwn}; add_and_commit($file, $message, readfile("t/test1.mdwn")); is_newly_added($file); - is_in_keyword_substitution_mode($file, undef); + is_in_keyword_substitution_mode($file, q{-kkv}); @changes = IkiWiki::rcs_recentchanges(3); is_total_number_of_changes(\@changes, 2); is_most_recent_change(\@changes, stripext($file), $message); @@ -218,14 +259,14 @@ sub test_rcs_add { $message = "add a UTF-8 and a binary file in different dirs"; my $file1 = "test8/test9.mdwn"; my $file2 = "test10/test11.ico"; - can_mkdir(qw(test8 test10)); + can_mkdir($_) for (qw(test8 test10)); writefile($file1, $config{srcdir}, readfile('t/test2.mdwn')); writefile($file2, $config{srcdir}, $bindata_in, 1); IkiWiki::rcs_add($_) for ($file1, $file2); IkiWiki::rcs_commit_staged(message => $message); is_newly_added($_) for ($file1, $file2); - is_in_keyword_substitution_mode($file1, undef); - is_in_keyword_substitution_mode($file2, '-kb'); + is_in_keyword_substitution_mode($file1, q{-kkv}); + is_in_keyword_substitution_mode($file2, q{-kb}); @changes = IkiWiki::rcs_recentchanges(3); is_total_number_of_changes(\@changes, 3); @changes = IkiWiki::rcs_recentchanges(4); @@ -233,15 +274,39 @@ sub test_rcs_add { # XXX test for both files in the commit, and no other files is_most_recent_change(\@changes, $file2, $message); + $message = "remove the UTF-8 and binary files we just added"; + IkiWiki::rcs_remove($_) for ($file1, $file2); + IkiWiki::rcs_commit_staged(message => $message); + ok(! -d "$config{srcdir}/test8", q{empty dir pruned by post-commit}); + ok(! -d "$config{srcdir}/test10", q{empty dir pruned by post-commit}); + @changes = IkiWiki::rcs_recentchanges(11); + is_total_number_of_changes(\@changes, 5); + # XXX test for both files in the commit, and no other files + is_most_recent_change(\@changes, $file2, $message); + + $message = "re-add UTF-8 and binary files with names swapped"; + writefile($file2, $config{srcdir}, readfile('t/test2.mdwn')); + writefile($file1, $config{srcdir}, $bindata_in, 1); + IkiWiki::rcs_add($_) for ($file1, $file2); + IkiWiki::rcs_commit_staged(message => $message); + isnt_newly_added($_) for ($file1, $file2); + is_in_keyword_substitution_mode($file2, q{-kkv}); + is_in_keyword_substitution_mode($file1, q{-kb}); + @changes = IkiWiki::rcs_recentchanges(11); + is_total_number_of_changes(\@changes, 6); + # XXX test for both files in the commit, and no other files + is_most_recent_change(\@changes, $file2, $message); + # prevent web edits from attempting to create .../CVS/foo.mdwn # on case-insensitive filesystems, also prevent .../cvs/foo.mdwn # unless your "CVS" is something else and we've made it configurable + # also want a pre-commit hook for this? - # can it assume we're under CVS control? or must it check? + # pre-commit hook: + # - lcase filenames + # - ? - # extract method: filetype-guessing - # add a binary file, remove it, add a text file by same name, no -kb? - # add a text file, remove it, add a binary file by same name, -kb? + # can it assume we're under CVS control? or must it check? } sub test_rcs_remove { @@ -304,9 +369,67 @@ sub test_rcs_recentchanges { } sub test_rcs_diff { + my @changes = IkiWiki::rcs_recentchanges(3); + is_total_number_of_changes(\@changes, 0); + + my $message = "add a UTF-8 and an ASCII file in different dirs"; + my $file1 = "rcsdiff1/utf8.mdwn"; + my $file2 = "rcsdiff2/ascii.mdwn"; + my $contents2 = ''; $contents2 .= "$_. foo\n" for (1..11); + can_mkdir($_) for (qw(rcsdiff1 rcsdiff2)); + writefile($file1, $config{srcdir}, readfile('t/test2.mdwn')); + writefile($file2, $config{srcdir}, $contents2); + IkiWiki::rcs_add($_) for ($file1, $file2); + IkiWiki::rcs_commit_staged(message => $message); + + # XXX we rely on rcs_recentchanges() to be called first! + # XXX or else for no cvsps cache to exist yet... + # XXX because rcs_diff() doesn't pass -x (as an optimization) + @changes = IkiWiki::rcs_recentchanges(3); + is_total_number_of_changes(\@changes, 1); + + unlike( + $changes[0]->{pages}->[0]->{diffurl}, + qr/%2F/m, + q{path separators are preserved when UTF-8scaping filename}, + ); + + my $changeset = 1; + + my $maxlines = undef; + my $scalar_diffs = IkiWiki::rcs_diff($changeset, $maxlines); + like( + $scalar_diffs, + qr/^\+11\. foo$/m, + q{unbounded scalar diffs go all the way to 11}, + ); + my @array_diffs = IkiWiki::rcs_diff($changeset, $maxlines); + is( + $array_diffs[$#array_diffs], + "+11. foo\n", + q{unbounded array diffs go all the way to 11}, + ); + + $maxlines = 8; + $scalar_diffs = IkiWiki::rcs_diff($changeset, $maxlines); + unlike( + $scalar_diffs, + qr/^\+11\. foo$/m, + q{bounded scalar diffs don't go all the way to 11}, + ); + @array_diffs = IkiWiki::rcs_diff($changeset, $maxlines); + isnt( + $array_diffs[$#array_diffs], + "+11. foo\n", + q{bounded array diffs don't go all the way to 11}, + ); + is( + scalar @array_diffs, + $maxlines, + q{bounded array diffs contain expected maximum number of lines}, + ); + # can it assume we're under CVS control? or must it check? - # in list context, return all lines (with \n), up to $maxlines if set - # in scalar context, return the whole diff, up to $maxlines if set } sub test_rcs_getctime { @@ -415,6 +538,7 @@ sub list_module { sub _startup { my $can_plan = shift; _plan_for_test_more($can_plan); + hook(type => "genwrapper", id => "cvstest", call => \&_wrapper_paths); _generate_test_config(); } @@ -450,8 +574,12 @@ sub _generate_test_config { %config = IkiWiki::defaultconfig(); $config{rcs} = "cvs"; $config{srcdir} = "$dir/src"; + $config{allow_symlinks_before_srcdir} = 1; + $config{destdir} = "$dir/dest"; $config{cvsrepo} = "$dir/repo"; $config{cvspath} = "ikiwiki"; + use Cwd; $config{templatedir} = getcwd() . '/templates'; + $config{diffurl} = "/nonexistent/cvsweb/[[file]]"; IkiWiki::loadplugins(); IkiWiki::checkconfig(); } @@ -462,12 +590,39 @@ sub _generate_test_repo { my $cvs = "cvs -d $config{cvsrepo}"; my $dn = ">/dev/null"; + system "$cvs init $dn"; system "mkdir $dir/$config{cvspath} $dn"; system "cd $dir/$config{cvspath} && " . "$cvs import -m import $config{cvspath} VENDOR RELEASE $dn"; system "rm -rf $dir/$config{cvspath} $dn"; system "$cvs co -d $config{srcdir} $config{cvspath} $dn"; + + _generate_and_configure_post_commit_hook(); +} + +sub _generate_and_configure_post_commit_hook { + $config{cvs_wrapper} = $config{cvsrepo} . "/CVSROOT/test-post"; + $config{wrapper} = $config{cvs_wrapper}; + + require IkiWiki::Wrapper; + { + no warnings 'once'; + $IkiWiki::program_to_wrap = 'ikiwiki.out'; + # XXX substitute its interpreter to Makefile's $(PERL) + # XXX best solution: do this to all scripts during build + } + IkiWiki::gen_wrapper(); + + my $cvs = "cvs -d $config{cvsrepo}"; + my $dn = ">/dev/null"; + + system "mkdir $config{destdir} $dn"; + system "cd $dir && $cvs co CVSROOT $dn && cd CVSROOT && " . + "echo 'DEFAULT $config{cvsrepo}/CVSROOT/test-post %{sVv} &' " + . " >> loginfo && " + . "$cvs commit -m 'test repo setup' $dn && " + . "cd .. && rm -rf CVSROOT"; } sub add_and_commit { @@ -489,18 +644,28 @@ sub can_mkdir { ); } -sub is_newly_added { - my $file = shift; - is( +sub is_newly_added { _newly_added_or_not(shift, 1) } +sub isnt_newly_added { _newly_added_or_not(shift, 0) } +sub _newly_added_or_not { + my ($file, $expected_new) = @_; + my ($func, $word); + if ($expected_new) { + $func = \&Test::More::is; + $word = q{is}; + } + else { + $func = \&Test::More::isnt; + $word = q{isn't}; + } + $func->( IkiWiki::Plugin::cvs::cvs_info("Repository revision", $file), '1.1', - qq{$file is newly added to CVS}, + qq{$file $word newly added to CVS}, ); } sub is_in_keyword_substitution_mode { my ($file, $mode) = @_; - $mode = '(none)' unless defined $mode; is( IkiWiki::Plugin::cvs::cvs_info("Sticky Options", $file), $mode, @@ -537,3 +702,7 @@ sub stripext { $file =~ s|$extension$||g; return $file; } + +sub _wrapper_paths { + return qq{newenviron[i++]="PERL5LIB=$ENV{PERL5LIB}";}; +}