I’ve been trying to introduce some source code wrangling practices which I think will help us update existing systems while we also do ongoing maintenance/bug fixing. “Branching” is one of the ideas which I think will help keep us out of trouble.
Eric Sink, one of the founders of Source Gear, has a nice tool-agnostic series of articles about Source Control. Here’s the page on branching – my opinions are largely based on his so most of what he writes here matches my world view.
Please read this – I would welcome other ideas, opinions and experiences on the topic.