Commit Graph

11340 Commits (1859ccf8ace69c7f2db4872b269be10a66b41e4d)

Author SHA1 Message Date
Joey Hess 37ec6a8243 Merge branch 'master' into dependency-types
Conflicts:
	IkiWiki.pm
	IkiWiki/Render.pm
	debian/changelog
2009-10-08 20:33:58 -04:00
Joey Hess bc4ef28f3e pagestate: switch to use_pagespec 2009-10-08 20:29:51 -04:00
Joey Hess 3bb00d142a Optimize away most expensive file prune calls, when refreshing
Benchmarking refresh of a a wiki with 25 thousand pages showed
file_pruned() using most of the time. But, when refreshing, ikiwiki already
knows about nearly all the files. So we can skip calling file_pruned() for
those it knows about. While tricky to do, this sped up a refresh (that
otherwise does no work) by 10-50%.
2009-10-08 20:27:56 -04:00
Joey Hess d5f0144495 use_pagespec: do not fail with error when unable to match, unless it fails
with an ErrorReason
2009-10-08 18:47:48 -04:00
Joey Hess 1abbc6a404 pagecount: switched to use_pagespec 2009-10-08 18:47:25 -04:00
Joey Hess 32cd5f0b79 inline: switch to use_pagespec
Taking advantage of every single one of its features, of course.
Even had to add one more..
2009-10-08 18:30:50 -04:00
Joey Hess 65d57902ca add sorting page 2009-10-08 18:18:34 -04:00
Joey Hess 4b8ca7cfc1 update 2009-10-08 18:00:10 -04:00
Joey Hess de24c0df87 map: switch to use_pagespec 2009-10-08 17:53:45 -04:00
Joey Hess 5e236f5d25 add use_pagespec and deptype functions 2009-10-08 17:53:20 -04:00
Joey Hess c57908b9d0 change how dependency types are specified to add_depends
Also, this fixes 2 bugs in dependency info.
2009-10-08 16:49:03 -04:00
Joey Hess 3948b42238 found a way to get false positive influences 2009-10-08 15:33:47 -04:00
Joey Hess 586c35de30 Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info 2009-10-08 13:56:54 -04:00
Joey Hess 3baf6980aa update 2009-10-08 13:55:10 -04:00
Joey Hess f2b3d13414 fix handling of influences of pagespecs that fail to match
If a pagespec fails to match, I had been throwing the influences away, but
that is not right. Consider `backlink(foo)`, where foo does not exist.
It still needs to be added as an influence, because if it is created, it
will influence the pagespec to match.

But with that fix, `link(bar)` had as influences all pages, whether they
link to bar or not. Which is not necessary, because modifiying a page to
add a link to bar will directly cause the pagespec to match.

So, in match_link (and all the match_* functions for page metadata),
only return an influence if the match succeeds.

match_backlink had been implemented as the inverse of match_link, but that
is no longer completly true. While match_link does not return an influence
on failure, match_backlink does.

match_created_before/after also return the influence on failure, this way
if created_after(foo) currently fails because foo does not exist, it will
still update the page with the pagespec if foo is created.
2009-10-08 13:38:46 -04:00
http://shoorick.livejournal.com/ e82aeb3e43 2009-10-08 13:07:41 -04:00
http://www.larted.org.uk/~dom/ 79f3e32ea7 add cpanrt 2009-10-08 11:38:34 -04:00
http://www.cse.unsw.edu.au/~willu/ 57d694046f Tweaks 2009-10-08 07:26:01 -04:00
http://smcv.pseudorandom.co.uk/ 808c699961 2009-10-08 06:38:40 -04:00
Joey Hess b91ccb4963 update 2009-10-08 04:06:53 -04:00
http://www.cse.unsw.edu.au/~willu/ 61105cca4f Questions... 2009-10-08 01:33:23 -04:00
Joey Hess 0cb08c9a4b bugfix 2009-10-07 22:08:19 -04:00
Joey Hess 957ded9d64 remove explicit addition of dependencies for displayed pages
that hack is not needed, thanks to pagespec influences calculation
2009-10-07 21:57:31 -04:00
Joey Hess 5f9860e65c add type info to influence information 2009-10-07 21:52:37 -04:00
Joey Hess 83b9bf54ec Merge branch 'master' into dependency-types 2009-10-07 21:26:57 -04:00
Joey Hess f7601954a8 update 2009-10-07 21:26:50 -04:00
Joey Hess bb389a5ae2 convert add_depends to use influences
No more horrible special-case pagespec parsing.

OTOH, matching over all pages to determine influences is a lot of work.
2009-10-07 21:17:57 -04:00
Joey Hess 43a8b40032 influences calculation implemented 2009-10-07 20:36:25 -04:00
Joey Hess 54fb82a5a4 more influences tests 2009-10-07 20:35:26 -04:00
Joey Hess 4002d7c1a4 add influence info to match_*
Also update docs, test suite.
2009-10-07 20:31:13 -04:00
Joey Hess 76746c5fe6 Merge branch 'master' into dependency-types 2009-10-07 20:02:43 -04:00
Joey Hess c72fda7d69 make success and failreason objects carry an influences hash
The hash will be used used to record a set of pages that influenced the
result of a pagespec match.

The influences are merged together when boolean and/or are encountered
in a pagespec. That means using a non-short-circuiting OR operator. And
so I use & and | when translating pagespecs, since those bitwise operators
can be overloaded. ("and" and "or" cannot, apparently).
2009-10-07 19:59:26 -04:00
Joey Hess 4528b95d25 mention that pagespec_match returns an overloaded value 2009-10-07 18:06:49 -04:00
Joey Hess d1061d0094 Merge branch 'master' into dependency-types 2009-10-07 18:04:52 -04:00
Joey Hess 4e7e4e4306 a theory of pagespec influence lists, for Will's perusal 2009-10-07 18:04:13 -04:00
Jogo 7abd079bc0 2009-10-07 15:22:32 -04:00
Joey Hess 88a244a523 close 2009-10-07 14:30:19 -04:00
Joey Hess 7e1fc67be6 Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info 2009-10-07 14:26:45 -04:00
Joey Hess a09c79ccf1 problem with explicit, presence dependencies 2009-10-07 14:25:45 -04:00
Joey Hess 8fa0cfced9 remove test case for closed bug 2009-10-07 14:11:35 -04:00
Joey Hess 136979fac6 fix backlink new change detection code 2009-10-07 14:08:03 -04:00
Joey Hess 0fb4474cf8 limit to discussion pages of blog posts, not whole wiki 2009-10-07 13:55:02 -04:00
Thomas Schwinge 93ddca3e9c Make it obvious for the reader of the rendered page that the debbug shortcut links to Debian bug reports. 2009-10-07 19:54:46 +02:00
Thomas Schwinge a48b59a4af Use %S instead of %s for the debbug shortcut, so that things like [[!debbug 522689#38]] work as expected. 2009-10-07 19:53:28 +02:00
Joey Hess 0ebb44955a Merge branch 'master' into dependency-types 2009-10-07 13:36:40 -04:00
Joey Hess 66e894c877 thoughts 2009-10-07 13:35:48 -04:00
Joey Hess b6b7dc3a43 Merge branch 'master' into dependency-types 2009-10-07 13:00:54 -04:00
http://www.cse.unsw.edu.au/~willu/ 3d609928e5 Comments (maybe not so helpful - sorry) 2009-10-07 02:40:32 -04:00
Joey Hess 61977ac97b Merge branch 'master' into dependency-types
Conflicts:
	doc/todo/dependency_types.mdwn
2009-10-06 20:20:45 -04:00
Joey Hess d8607f5e73 update 2009-10-06 20:20:05 -04:00