taskjuggler/TaskJuggler — pull request #78 by jmglogow (2012-08-22 16:29:08+00:00)
Title: Breaking resource persistence.

I have a large project with a persistent assignment macro, which I use for almost all tasks (200+). This project didn't schedule correctly (missing tasks) and I had no idea why. This is the "wrong" definition:

macro allocate_any_dev [
allocate dev_1 {
alternative dev_2,
dev_3
persistent
}
}

resource dev_2 "Dev 2" {
leaves project "" 2013-01-01 - ${projectend}
}

The scheduling problem exists, because one of the resources leaves in the middle of the project, but has persistently assigned tasks. The attached patchset "fixes" the problem by breaking the persistence for permanently gone resources. The 2nd patch unifies some logging output. I'm not sure, if the 3rd patch is correct, but it seemed wrong (found while troubleshooting and learning the code).