X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2ba8bd386142e7f3c0fb03c86eb90eb3885aabd2..1c6794f46a729eea8c7e7d49fcf7c6a54dae2ba9:/doc/todo/dependency_types.mdwn diff --git a/doc/todo/dependency_types.mdwn b/doc/todo/dependency_types.mdwn index e95965c33..da9b5e6cf 100644 --- a/doc/todo/dependency_types.mdwn +++ b/doc/todo/dependency_types.mdwn @@ -280,6 +280,7 @@ sigh. that the page links to, which is just what link dependencies are triggered on. +[[done]] ---- ### the removal problem @@ -408,6 +409,11 @@ can indirectly influence what pages a pagespec matches. >>>> find changes in deleted pages. (I verified this works by experiment, >>>> also that `created_after` is triggered by a deleted page.) --[[Joey]] +>>>>> Oh, okie. I looked at the source, saw the `if (exists $IkiWiki::pagectime{$testpage})` and assumed it would fail. +>>>>> Of course, having it succeed doesn't cure all the issues -- just moves them. With `created_before()` succeeding +>>>>> for deleted files, this pagespec will be match any removal in the entire wiki with the base mechanism. Whether this is +>>>>> better or worse than the longer indirect influence list is an empirical question. -- [[Will]] + * The pagespec "foo" has an empty influence list. This is because a modification/creation/removal of foo directly changes what the pagespec matches. @@ -560,9 +566,16 @@ SuccessReason(page, index) => right `HardFailReason() | SuccessReason(index)` => `SuccessReason(index)` => right +Ok so far, but: + "!bugs/* and link(patch)" => -`HardFailReason() | SuccessReason(bugs/foo)` => -`HardFailReason()` => right +`!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. #### Influence types