Version Control?

A Version Control System (VCS) is an essential tool for a development team (or even individual developer) to manage their code. The more it can allow multiple developers to work together easily on the same code and manage the various states of that code, the better.

One of the most popular Version Control systems in the past was CVS, however in recent times this has been superseded by Subversion (SVN), which is a highly popular VCS that is well supported by a variety of client tools and is often embedded within software configuration management applications to manage file versioning (e.g. trac, collabNet, etc)

What is sometimes an issue with SVN is the ability to do local commits for each developer before a full commit to the main branch, making the main branch often unreliable and full of partially complete work, or local developers with limited versioning control etc.

Bazaar

One VCS tool that tackles this problem is Bazaar, which offers no less than 7 different Version Control workflows depending on your particular scenario.

Bazaar is developed and used by Canonical (the Ubuntu people), and has recently claimed Sun’s MySQL as a new user. Bazaar is one of many VCS tools, but it’s flexibility in workflow patterns is certainly something that makes it an interesting tool to consider.

Further Info