Skip to content

[help] Why does dynamic branching change the rules for when a target becomes outdated? #1369

Answered by wlandau
motorlearner asked this question in Help
Discussion options

You must be logged in to vote

It's a limitation of dynamic branching. The names of the dynamic branches are based on hashes of the upstream dependencies. Since all of dfr changed, each branch of dfr_x changed its name, and this change propagates all the way downstream.

Although hash-based naming caused targets to invalidate in this case, it is usually more stable than the obvious alternatives. For example, if the branches were named dfr_x_1 and dfr_x_2, then each branch name would depend on the number and ordering of all the other branches, which would lead to even more wasted computation in the general case.

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@motorlearner
Comment options

Answer selected by motorlearner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Help
Labels
None yet
2 participants