Commit Graph

11377 Commits (ed1fa6c887c0677e9ba80e1d422ba133a218ac54)

Author SHA1 Message Date
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
Joey Hess 0582365a56 notes on removal problem 2009-10-06 20:19:17 -04:00
Joey Hess 77598dfa9f linkmap, pagestats: avoid using %links to get a list of pages
When a page is deleted, it is removed from %pagesources, but
not from %links. So use the former.
2009-10-06 19:29:28 -04:00
Joey Hess a5d825f286 linkmap: does need presence deps
Otherwise, removal of a page with no links will not be noticed,
since no links will change.
2009-10-06 19:28:52 -04:00
Joey Hess 7a8b492bcc add_depends should default to content dependencies if unknown type specified 2009-10-06 19:07:52 -04:00
Joey Hess e45e23a7f1 oops!! 2009-10-06 19:03:23 -04:00
Joey Hess ee56af29e1 typo 2009-10-06 18:45:22 -04:00
Joey Hess 03ae087b43 support backlink() in pagespecs for links dependencies 2009-10-06 18:44:59 -04:00
Joey Hess 62cc2afcaa update to test backlinks() pagespecs 2009-10-06 18:44:34 -04:00
Joey Hess 15fd89d64d presence dependencies not needed
Using just a link dependency is sufficient, since
2009-10-06 18:41:09 -04:00
Joey Hess 348a6aaee3 pagespec for links dependencies 2009-10-06 18:20:11 -04:00
Joey Hess ba1dfb4ec6 fix support of a single dependency that combines links and exists types
This is very common, and the code has to test each type differently, since
the list of candidates to test, as well as the test, will vary per type.
Much happier with this code now.
2009-10-06 18:09:46 -04:00
Joey Hess af85f62d6f linkmap: Use a combination of presence and link dependencies.
This makes the map be regenerated much less frequently, so larger maps are
more practical to use now.
2009-10-06 17:47:10 -04:00
Joey Hess 2494a23fdd fix handling of links+content dependency
Such a dependency is unlikely, but can happen.
2009-10-06 04:45:57 -04:00