I've seen a couple of other methods used successfully that let
developers share the same branch with integration and QA. These can be
used in isolation or in combination to advantage, and they don't
preclude developers from creating their own private branches. A strong
point of these
What I've done in this scenario in the past is to create an integration
branch. NOT a QA branch, but one which the developers only are allowed to
merge to, just to check the viability of their changes. A cruisecontrol
system runs a continuous build on the integration branch, to do both of 1)