X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/53a8aeb1d1cfd42ae069e173437b34489d28d157..8c2d221ca93ed6fbe8f093408c4e2cea835e5b4c:/doc/bugs/transitive_dependencies.mdwn diff --git a/doc/bugs/transitive_dependencies.mdwn b/doc/bugs/transitive_dependencies.mdwn index 89f0d7085..546f4f3aa 100644 --- a/doc/bugs/transitive_dependencies.mdwn +++ b/doc/bugs/transitive_dependencies.mdwn @@ -29,7 +29,7 @@ this bug coming back. Ugh. ## rebuild = change approach -[[!template id=gitbranch branch=master/transitive-dependencies author="[[joey]]"]] +[[!template id=gitbranch branch=origin/transitive-dependencies author="[[joey]]"]] Another approach to fix it is to say that anything that causes a rebuild of B is treated as a change of B. Then when C is changed, B is @@ -51,12 +51,14 @@ Downsides here: * Means a minimum of 2x as much time spent resolving dependencies, at least in my simple implementation, which re-runs the dependency resolution loop until no new pages are rebuilt. + (I added an optimisation that gets it down to 1.5X as much work on + average, still 2x as much worst case.) * Causes extra work for some transitive dependencies that we don't actually care about. For example, changing index causes plugins/brokenlinks to update in the first pass; if there's a second pass, plugins/map is then updated, because it depends on plugins/brokenlinks. (Of course, this is just a special case of the issue that a real modification to plugins/brokenlinks causes an unnecessary update of plugins/map, - because we have only one kind of dependency.) + because we have [[only_one_kind_of_dependency|todo/dependency_types]].) --[[Joey]]