From 43a8b40032c3774e0f5105ca5cbeb7a40fdc6893 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 7 Oct 2009 20:36:25 -0400 Subject: influences calculation implemented --- doc/todo/dependency_types.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo/dependency_types.mdwn') diff --git a/doc/todo/dependency_types.mdwn b/doc/todo/dependency_types.mdwn index dca873f34..a6260821e 100644 --- a/doc/todo/dependency_types.mdwn +++ b/doc/todo/dependency_types.mdwn @@ -381,6 +381,8 @@ Given that, the `backlink` will always be evalulated, and will put index onto the influence list. If we combine the influences from each successful match, we get the right result. +> This is implemented, seems to work ok. --[[Joey]] + #### High-level Calculation and Storage Calculating the full influence list for a pagespec requires trying to match -- cgit v1.2.3 From f7601954a862afd4c5a5b9ba83480af0472e1cf9 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 7 Oct 2009 21:26:50 -0400 Subject: update --- doc/todo/dependency_types.mdwn | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'doc/todo/dependency_types.mdwn') diff --git a/doc/todo/dependency_types.mdwn b/doc/todo/dependency_types.mdwn index a6260821e..3bb1b5452 100644 --- a/doc/todo/dependency_types.mdwn +++ b/doc/todo/dependency_types.mdwn @@ -238,10 +238,7 @@ sigh. * `add_depends($page, $spec, links => 1, presence => 1)` adds a links + presence dependency. -* `refresh` only rebuilds a page with a links dependency if - pages matched by the pagespec gain or lose links. (What the link - actually points to may change independent of this, due to changes - elsewhere, without it firing.) +* Use backlinks change code to detect changes to link dependencies too. * So, brokenlinks can fire whenever any links in any of the pages it's tracking change, or when pages are added or removed. @@ -413,3 +410,14 @@ Where to store the influence list? Well, it appears that we can just add regular list of simple dependencies. So, the data stored ends up looking just like what is stored today by the explicit dependency hacks. Except, it's calculated more smartly, and is added automatically. + +> I've implemented influence calculation in `add_depends`. As expected, +> it means rather a lot more work, and makes some things much slower. +> Optimisation via `pagespec_match_depends` next.. --[[Joey]] + +#### Influence types + +Note that influences can also have types, same as dependency types. +For example, "backlink(foo)" has an influence of foo, of type links. +"created_before(foo)" also is influenced by foo, but it's a presence +type. Etc. -- cgit v1.2.3