
Peter Dimov wrote:
A is working on the release branch against B. A+dA is working on trunk against B+dB. But dA can't be merged into release since it depends on dB.
This isn't a big deal in practice since the author of A will simply ask the author of B to merge first.
Ah Ha - now you've come upon the magic missing piece !!! If tests in the trunk are done against the RELEASE rather than the TRUNK then this situation won'e come up. The trunk test procedure should be. a) Each tester maintains a release ready tree. b) library A gets modified on the trunk c) library B gets modified on the trunk d) each tester does the following: for each modified library switch the directories which contain that library to the trunk run tests switch directories back to release. This would mean that no library is tested against code which is not yet in the release so changes won't be coupled. Robert Ramey