I’m currently revamping the way our shop does version-control. We will be using a server centric version control solution.
I would like to see how other people are branching, and doing it successfully, without all of the headaches I read about.
What are some field tested branching patterns you have seen in a production environment that worked well i.e. branching per release. What policies have been put in place to ensure that branching goes smoothly.
Thanks
It depends on what kind of software you are developing.
For us, we are a web shop, so we do not have any numbered ‘releases’. We keep trunk as what is ‘production’ worthy and only directly commit small changes.
When we have a large project we create a branch and work it up to production ready, all the while syncing trunk changes into it.
If the project involves a large restructuring of the code base we will generally create a tag on the last revision before merging the branch changes.
Again, if you are creating packaged software where you need to maintain different versions this won’t work nearly as well.
For the record, we use Subversion.