]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/dependency_types.mdwn
Merge branch 'master' into dependency-types
[git.ikiwiki.info.git] / doc / todo / dependency_types.mdwn
index e95965c3325fffffd32ee2988a4fd1526458188a..da9b5e6cf1859ff7848183fce3e2af22c9f6b428 100644 (file)
@@ -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