March 10, 2003

Version control strategies. A must read for anyone technically managing projects

I just found Streamed Lines: Branching Patterns for Parallel Software Development, it's a great repository of common mistakes and their consequences as well as best practices. concerning version control, branching and merging.

We had some pretty efficient version control strategies at my previous company and I learned a lot from talking with the people in charge of it company-wide. I was glad to see a lot of them in that document. I have been able to bring some best practices to my current company which has helped prevent code freezing and just make sure we always know what's in a release. Here is what we're now doing (bearing in mind, we develop our own plateform and we run it in ASP mode)

  • all developement takes place on the MAIN branch

  • whenever we have finished a set of features which form a release (whether minor or major), we create a branch and tag its root

  • We use the branch to build the EAR and the rest and "acceptance-test" it on our mock production environment

  • Any bug corrections during testing takes place on the branch, once everything is running ok, we upgrade the production environment and tag the branch with the version number

  • We merge the branch into MAIN

  • During this time, development of new features went on on the MAIN branch...

  • If we need to correct a bug on the current release running on the produciton environment, we go to that branch, make the changes, create a new EAR, test it, put it up on the production environment and tag the branch with a different version number

  • Whenever that happens, we merge the changes back into MAIN. Since we're using CVS, merging is easy if we use the previous production tag as the root tag...

Apparently, we're doing Parallel Releasing/Development Lines (a.k.a Anti-Freeze Line) with Deferred Branching, It works pretty well and I'm pleased to see the name they give to it explains exactly why I put that strategy in place :) Sometimes things just fall into place !

Posted by pgirolami76 at March 10, 2003 10:25 PM | TrackBack
Comments
Post a comment









Remember personal info?