I am using dependent builds via a QuickBuild repository and 'latest build'. The Parent configuration triggers a Child configuration, passing it a variable branch_name, which is in turned used to define a Perforce repository to get the source. This way, I can have a single configuration which I copy to multiple servers, and then, by defining different branch names in the Parent configuration on each server, perform different builds.
Parent -> Child -> Perforce
This works as expected, in all test scenarios I can devise. However, my Child configuration also depends on another configuration, the Grandchild. The Child passes to the Grandchild the same branch name as it was passed.
Parent -> Child -> Grandchild -> Perforce
I have found that, when the Grandchild is testing its Build Necessary Condition ('effectingRepositoriesModified') after being triggered by the Child, it does not have access to the branch_name variable passed to it; instead, it is using the default value for branch_name (which I have set to UNDEF) in the build settings of my root configuration. I will attach the error message which illustrates this as a reply to this post.
I do not see this error in the Child, and I do not see this error if the Parent calls the Grandchild directly, or if I trigger the Grandchild by hand. I also do not see this problem when the Grandchild executes; only when testing its Build Necessary Condition.
It is possible that this is not new behavior, as I had not been able to get my dependent configurations to work under 1.2.2 for other reasons. However, I believe that I would have encountered and noticed this situation in my testing had it come up before.