From: Joey Hess Date: Tue, 13 Oct 2009 19:15:54 +0000 (-0400) Subject: Merge branch 'dependency-types' X-Git-Tag: 3.20091017~27 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/ef7bddbc3693d7abf227100a9a9bc21d186dfada?ds=sidebyside;hp=-c Merge branch 'dependency-types' Conflicts: doc/todo/dependency_types.mdwn --- ef7bddbc3693d7abf227100a9a9bc21d186dfada diff --combined doc/todo/dependency_types.mdwn index 2bdf1d6a3,da9b5e6cf..4db633ead --- a/doc/todo/dependency_types.mdwn +++ b/doc/todo/dependency_types.mdwn @@@ -280,6 -280,7 +280,7 @@@ sigh that the page links to, which is just what link dependencies are triggered on. + [[done]] ---- ### the removal problem @@@ -552,16 -553,29 +553,16 @@@ operators. Currently, this turns into r `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