]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/dependency_types.mdwn
patchmeister
[git.ikiwiki.info.git] / doc / todo / dependency_types.mdwn
index da9b5e6cf1859ff7848183fce3e2af22c9f6b428..4db633eadfa3bcef58d16f70a0f4cf911848b4ed 100644 (file)
@@ -553,29 +553,16 @@ operators. Currently, this turns into roughly:
 `FailReason() & SuccessReason(patch)`
 
 Let's say that the glob instead returns a HardFailReason, which when
-ANDed with another object, drops their influences. (But when ORed, combines
-them.) Fixes the above, but does it always work?
+ANDed with another object, blocks their influences. (But when ORed,
+combines them.)
 
-"(bugs/* or link(patch)) and backlink(index)" =>
-`( HardFailReason() | SuccessReason(page) ) & SuccessReason(index)`` =>
-`SuccessReason(page & SuccessReason(index)` =>
-SuccessReason(page, index) => right
+Question: Are all pagespec terms that return reason objects w/o any
+influence info, suitable to block influence in this way? 
 
-"(bugs/* and link(patch)) or backlink(index)" =>
-`( HardFailReason() & SuccessReason(page) ) | SuccessReason(index)`` =>
-`HardFailReason() | SuccessReason(index)` =>
-`SuccessReason(index)` => right
-
-Ok so far, but:
-
-"!bugs/* and link(patch)" =>
-`!SuccessReason() | SuccessReason(bugs/foo)` =>  
-'FailReason() | SuccessReason(bugs/foo)
-`FailReason(bugs/foo)` => wrong!
-
-This could be fixed by adding a HardSuccessReason that glob also returns.
-Maybe just a field of the object that is set if it is "hard" is a better
-approach though.
+To be suitable to block, a term should never change from failing to match a
+page to successfully matching it, unless that page is directly changed in a
+way that influences are not needed for ikiwiki to notice. But, if a term
+did not meet these criteria, it would have an influence. QED.
 
 #### Influence types