JavaWorld has a hands-on overview of CVS, Subversion, Mercurial, and Bazaar here.
Note 4/21/2011: I’d say the most popular open source VCS’s are:
- For centralized, Subversion
- For distributed (DVCS), git (most popular) and Mercurial.
February 25, 2008 No Comments
Version Control and Software Configuration Management Resources
In the end, good developers and good processes matter more than the tools. So here are two good sources for information and answers on version control and software configuration management: comp.software.config-mgmt newsgroup (low level of traffic, but I’ve seen some good conversations there) and CMCrossroads.
Commerical Version Control Software
A few years ago, I did an extensive look at commercial version control software. The two I was most impressed with were Perforce and AccuRev. Perforce is a traditional VCS, with a reputation for speed and good support. AccuRev has an innovative approach (streams) . Both are worth consideration, but are $750/developer or more, plus yearly maintenance fees. At work, I’ve been very happy with Subversion, but Larry O’Brian has seen some speed bumps.
I’ve been using Subversion, and have been very happy with it. I still think it is an excellent version control system for most automation companies, and I will be doing a series of blog posts using it. Some of its good points:
- It’s free (and open source)
- Its centralized approach fits the model of most automation developers (unlike open source projects, which tend to be highly distributed).
- It runs well on Windows (unlike some open source version control systems)
- It has good, free documentation
- It is widely available for hosting (
for example, it’s the only VCS available on Webfaction’s Control Panel)
- It has excellent tool support, including on Windows
- It is constantly updated (V1.5 will have substantial improvements)
Innovative Version Control Systems
The open source version control field has been very fertile, with several innovative approaches. I’d say the open source side has been more innovative than the commercial side. The ones that have caught my attention are git (of Linux fame, and right now probably the “hot” one), darcs, mercurial, and bazaar-ng. All of these systems are designed for distributed development, unlike most version control which is based around a central server. Later I plan on looking into them in-depth, and trying one out – I have a few project ideas that would benefit from a more distributed approach.
January 18, 2008 2 Comments