Merge commit 'remotes/smcv/ready/remove-pagespec-merge'
authorJoey Hess <joey@gnu.kitenet.net>
Tue, 25 Aug 2009 21:21:19 +0000 (17:21 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Tue, 25 Aug 2009 21:21:19 +0000 (17:21 -0400)
IkiWiki.pm
doc/todo/tracking_bugs_with_dependencies.mdwn
ikiwiki-transition
t/pagespec_merge.t [deleted file]

index 871170992e21389e04c5adcfd5651ebb2533e1e6..5563a03af7d028a88c184d8f2ac227284c475f52 100644 (file)
@@ -1824,14 +1824,6 @@ sub add_link ($$) {
                unless grep { $_ eq $link } @{$links{$page}};
 }
 
-sub pagespec_merge ($$) {
-       my $a=shift;
-       my $b=shift;
-
-       return $a if $a eq $b;
-       return "($a) or ($b)";
-}
-
 sub pagespec_translate ($) {
        my $spec=shift;
 
index a198530fcd03ad8189fd77244cecc841e6291d1c..bfdbf0875e08bcad2572a841a8fe6ad16295fe30 100644 (file)
@@ -410,8 +410,8 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
 >>>>> then the last definition (baz) takes precedence.
 >>>>> In the process of writing this I think I've come up with a way to change this back the way it was, still using closures. -- [[Will]]
 
->>> Alternatively, my [[remove-pagespec-merge|should_optimise_pagespecs]]
->>> branch solves this, in a Gordian knot sort of way :-) --[[smcv]]
+>>> My [[remove-pagespec-merge|should_optimise_pagespecs]] branch has now
+>>> solved all this by deleting the offending function :-) --[[smcv]]
 
 >>  Secondly, it seems that there are two types of dependency, and ikiwiki
 >>  currently only handles one of them.  The first type is "Rebuild this
index 795ab31cb046f8c3c7c579d6b2606432f8a3115c..8a20cf655f021b328eef5afe509a75908f202d2a 100755 (executable)
@@ -335,4 +335,14 @@ sub get_banned_users () {
        return @ret;
 }
 
+# Used to be in IkiWiki, but only used here (to migrate admin prefs into the
+# setup file) now.
+sub pagespec_merge ($$) {
+       my $a=shift;
+       my $b=shift;
+
+       return $a if $a eq $b;
+       return "($a) or ($b)";
+}
+
 1
diff --git a/t/pagespec_merge.t b/t/pagespec_merge.t
deleted file mode 100755 (executable)
index 9e38d57..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/perl
-use warnings;
-use strict;
-use Test::More tests => 25;
-
-BEGIN { use_ok("IkiWiki"); }
-
-sub same {
-       my $a=shift;
-       my $b=shift;
-       my $match=shift;
-       
-       my $imatch=(pagespec_match($match, $a) ||
-                   pagespec_match($match, $b));
-       my $cmatch=pagespec_match($match, IkiWiki::pagespec_merge($a, $b));
-       
-       return $imatch == $cmatch;
-}
-
-ok(same("foo", "bar", "foo"), "basic match 1");
-ok(same("foo", "bar", "bar"), "basic match 2");
-ok(same("foo", "bar", "foobar"), "basic failed match");
-ok(same("foo", "!bar", "foo"), "basic match with inversion");
-ok(same("foo", "!bar", "bar"), "basic failed match with inversion");
-ok(same("!foo", "bar", "foo"), "basic failed match with inversion 2");
-ok(same("!foo", "bar", "bar"), "basic match with inversion 2");
-ok(same("!foo", "!bar", "foo"), "double inversion failed match");
-ok(same("!foo", "!bar", "bar"), "double inversion failed match 2");
-ok(same("*", "!bar", "foo"), "glob+inversion match");
-ok(same("*", "!bar", "bar"), "matching glob and matching inversion");
-ok(same("* and !foo", "!bar", "bar"), "matching glob and matching inversion");
-ok(same("* and !foo", "!bar", "foo"), "matching glob with matching inversion and non-matching inversion");
-ok(same("* and !foo", "!foo", "foo"), "matching glob with matching inversion and matching inversion");
-ok(same("b??", "!b??", "bar"), "matching glob and matching inverted glob");
-ok(same("f?? !f??", "!bar", "bar"), "matching glob and matching inverted glob");
-ok(same("b??", "!b?z", "bar"), "matching glob and non-matching inverted glob");
-ok(same("f?? !f?z", "!bar", "bar"), "matching glob and non-matching inverted glob");
-ok(same("!foo bar baz", "!bar", "bar"), "matching list and matching inversion");
-ok(pagespec_match("foo/Discussion",
-       IkiWiki::pagespec_merge("* and !*/Discussion", "*/Discussion")), "should match");
-ok(same("* and !*/Discussion", "*/Discussion", "foo/Discussion"), "Discussion merge 1");
-ok(same("*/Discussion", "* and !*/Discussion", "foo/Discussion"), "Discussion merge 2");
-ok(same("*/Discussion !*/bar", "*/bar !*/Discussion", "foo/Discussion"), "bidirectional merge 1");
-ok(same("*/Discussion !*/bar", "*/bar !*/Discussion", "foo/bar"), "bidirectional merge 2");