From 7ff6251d7bee1bf0b07669ae723195a48b4a5ff0 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Tue, 30 Sep 2008 02:16:20 -0400 Subject: [PATCH 1/6] Response --- doc/todo/softlinks.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/todo/softlinks.mdwn b/doc/todo/softlinks.mdwn index 1e474185f..e822c05d0 100644 --- a/doc/todo/softlinks.mdwn +++ b/doc/todo/softlinks.mdwn @@ -4,3 +4,7 @@ The page "foo/" does not exist. This is too bad, because sometimes it is convenient to have several different names for the same page. Could softlinks be handled gracefully by ikiwiki? + +> Soft links are explicitly not handled by IkiWiki as a [[security]] measure. If you want several names for +> the same page, I suggest using the [[ikiwiki/directive/meta]] directive to make one page redirect to +> another. -- [[Will]] From 3e600a67f46bc1856eca84713b9d303e9dcbe74e Mon Sep 17 00:00:00 2001 From: bremner Date: Tue, 30 Sep 2008 10:04:48 -0400 Subject: [PATCH 2/6] mention a demo site for plugin --- doc/todo/comment_by_mail.mdwn | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/todo/comment_by_mail.mdwn b/doc/todo/comment_by_mail.mdwn index 085c4896f..6d3eeb044 100644 --- a/doc/todo/comment_by_mail.mdwn +++ b/doc/todo/comment_by_mail.mdwn @@ -46,8 +46,8 @@ Any comments? Write them here or send them to [[DavidBremner]] >> as a "moderation" interface. After I killed a debian BTS entry with >> clumsy pseudoheader editing I think any >> reference info should also be encoded into the address. ->>> Although it is in python, just from reading the Debian ITP, it ->>> looks like ->>> [mnemosyne-blog](http://www.red-bean.com/~decklin/mnemosyne/) ->>> might be an interesting backend to use or at least steal ideas ->>> from :-) --[[DavidBremner]] + +The current version of this plugin is now running on my home page. See for example +[a recent post in my blog](http://www.cs.unb.ca/~bremner/blog/posts/can-i-haz-a-distributed-rss/). +Unfortunately although the [[mailbox|todo/mbox]] renderer supports threading, I haven't had +a chance to implement comments on comments yet. [[DavidBremner]] From 0ca14589f3bd529556ded67466ebfbfa757419db Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 30 Sep 2008 12:58:17 -0400 Subject: [PATCH 3/6] close --- doc/todo/softlinks.mdwn | 2 ++ po/ikiwiki.pot | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/todo/softlinks.mdwn b/doc/todo/softlinks.mdwn index e822c05d0..af99a9f82 100644 --- a/doc/todo/softlinks.mdwn +++ b/doc/todo/softlinks.mdwn @@ -8,3 +8,5 @@ Could softlinks be handled gracefully by ikiwiki? > Soft links are explicitly not handled by IkiWiki as a [[security]] measure. If you want several names for > the same page, I suggest using the [[ikiwiki/directive/meta]] directive to make one page redirect to > another. -- [[Will]] + +>> Will is right. I don't plan to support symlinks. [[done]] --[[Joey]] diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index 6614bfd87..f90b1e8c7 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: 2008-09-29 18:05-0400\n" +"POT-Creation-Date: 2008-09-29 19:10-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,7 +48,7 @@ msgstr "" msgid "You are banned." msgstr "" -#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1143 +#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1166 msgid "Error" msgstr "" @@ -904,25 +904,25 @@ msgstr "" msgid "refreshing wiki.." msgstr "" -#: ../IkiWiki.pm:451 +#: ../IkiWiki.pm:458 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" -#: ../IkiWiki.pm:497 +#: ../IkiWiki.pm:504 msgid "cannot use multiple rcs plugins" msgstr "" -#: ../IkiWiki.pm:526 +#: ../IkiWiki.pm:533 #, perl-format msgid "failed to load external plugin needed for %s plugin: %s" msgstr "" -#: ../IkiWiki.pm:1126 +#: ../IkiWiki.pm:1149 #, perl-format msgid "preprocessing loop detected on %s at depth %i" msgstr "" -#: ../IkiWiki.pm:1635 +#: ../IkiWiki.pm:1658 msgid "yes" msgstr "" From 3ef2824350a37a562df6394b801e8006eac22626 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 30 Sep 2008 15:06:12 -0400 Subject: [PATCH 4/6] add test for empty, and for entirely negated pagespecs --- t/pagespec_match.t | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/t/pagespec_match.t b/t/pagespec_match.t index 9d5573747..c61d16122 100755 --- a/t/pagespec_match.t +++ b/t/pagespec_match.t @@ -1,11 +1,13 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 54; +use Test::More tests => 56; BEGIN { use_ok("IkiWiki"); } ok(pagespec_match("foo", "*")); +ok(!pagespec_match("foo", "")); +ok(pagespec_match("foo", "!bar")); ok(pagespec_match("page", "?ag?")); ok(! pagespec_match("page", "?a?g?")); ok(pagespec_match("foo.png", "*.*")); From 4a2b401fd05806c9faaf160b3046a17caca7dbd2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 30 Sep 2008 15:16:45 -0400 Subject: [PATCH 5/6] interesting bug --- ...gated_pagespec_matches_internal_pages.mdwn | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn diff --git a/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn b/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn new file mode 100644 index 000000000..012fcec2c --- /dev/null +++ b/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn @@ -0,0 +1,23 @@ +A [[PageSpec]] that is entirely negated terminals, such as "!foo and !bar" +matches all other pages, including all internal pages. This can lead to +unexpected results, since it will match a bunch of recentchanges pages, +etc. + +Recall that internal-use pages are not matched by a glob. So "*" doesn't +match them. So if the pagespec is "* and !foo and !bar", it won't match +them. This is the much more common style. + +There's an odd inconsistency with entirely negated pagespecs. If "!foo" +matches page bar, shouldn't "" also match bar? But, the empty pagespec is +actually special-cased to not match anything. + +Indeed, it seems what would be best would be for "!foo" to not match any +pages, unless it's combined with a terminal that positively matches pages +("* and !foo"). Although this would be a behavior change, with transition +issues. + +Another approach would be to try to detect the case of an entirely negated +pagespec, and implicitly add "and !internal()" to it. + +Either approach would require fully parsing the pagespec. And consider cases +like "!(foo and !bar)". Doesn't seem at all easy to solve. --[[Joey]] From b5bc0e812d7bc5b69826039131b74071d23337c1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 30 Sep 2008 15:40:08 -0400 Subject: [PATCH 6/6] don't say rebuilding wiki when refreshing If run w/o --refresh, it should still say "refreshing wiki", if there's no setup file specifed. --- ikiwiki.in | 2 +- po/ikiwiki.pot | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ikiwiki.in b/ikiwiki.in index f96daab0b..973ae3b31 100755 --- a/ikiwiki.in +++ b/ikiwiki.in @@ -184,7 +184,7 @@ sub main () { #{{{ # do nothing } else { - if (! $config{refresh}) { + if ($config{rebuild}}) { debug(gettext("rebuilding wiki..")); } else { diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index f90b1e8c7..6f8136413 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: 2008-09-29 19:10-0400\n" +"POT-Creation-Date: 2008-09-30 15:31-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,7 +48,7 @@ msgstr "" msgid "You are banned." msgstr "" -#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1166 +#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1143 msgid "Error" msgstr "" @@ -904,25 +904,25 @@ msgstr "" msgid "refreshing wiki.." msgstr "" -#: ../IkiWiki.pm:458 +#: ../IkiWiki.pm:451 msgid "Must specify url to wiki with --url when using --cgi" msgstr "" -#: ../IkiWiki.pm:504 +#: ../IkiWiki.pm:497 msgid "cannot use multiple rcs plugins" msgstr "" -#: ../IkiWiki.pm:533 +#: ../IkiWiki.pm:526 #, perl-format msgid "failed to load external plugin needed for %s plugin: %s" msgstr "" -#: ../IkiWiki.pm:1149 +#: ../IkiWiki.pm:1126 #, perl-format msgid "preprocessing loop detected on %s at depth %i" msgstr "" -#: ../IkiWiki.pm:1658 +#: ../IkiWiki.pm:1635 msgid "yes" msgstr ""