Our development team is in the process of moving from Visual Source Safe to Subversion for Source Control. (Yeah, I know that there’s all kinds of cool new stuff coming in VS Team System, and that VSS probably won’t ever suck as much as it has for the last 5 years. But we’ve made the decision.)
As part of making the Transition, I read Eric Sink’s articles on Source Control, which are probably the best things I’ve ever read on what can be a super boring topic.
One subject that was particularly well explained was the topic of branching.
(Branching is a way of creating a copy of a bunch of code so that you don’t break important stuff. That’s my 20 words on the subject. If you want to know more, go read the article. ) In the end, we settled on Eric’s preferred model of branching – having an unstable trunk. So all our development work is actually done on the main trunk, and we branch our releases off for future maintenance. Seems sensible enough.
However, developer idiocy (a common malady that affects developers around 3:30 in the afternoon) set in, and so I had to come up with the following bumper sticker:
Yeah, I know.