Hi all,
I'm on a small team of about 6 people. Most of the group is careful to make sure their commits don't break trunk and use short-lived feature branches when they need to work on something for more than a couple of days, so they can check in code without destabilizing things for everyone else.
And then there's the other guy. He is prolific but not thorough, and he's also frequently in the middle of juggling several tasks at once. For better or worse, those three things relate to each other. For a long time, in order to make everyone happy, we tried to have a long-lived "experimental" branch where he lived, and the rest of the developers lived in trunk. The idea was that we'd merge features as complete back from experimental, and do periodic updates from trunk->exp.
The result was as you might imagine: infrequent updates each way lead to divergence and several of the merging anti-patterns listed here.
I've read a lot of general svn branching guidelines, including the above link and Eric Sink's stuff which are frequently cited here. I'm not sure what to do. I fear we're going to to back to having him commit straight to trunk all the time, which will lead him to using in-code methods to keep from destabilizing other's work, which in turn will mean that we can't even use svn to help make the merging easier.
So ... advice?