Merging modern software development with electrons and metal
Random header image... Refresh for more!

Subversion and Other Version Control Choices

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.

Subversion

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.

Tony

2 comments

1 Antonio { 01.20.08 at 6:37 pm }

You mention that you believe the open source community has been more innovative in SCM than commercial vendors; and right after you mention Accurev. Are you sure you really understood the Accurev model and streams? Based on your open source comment, my guess is not really.

A

2 admin { 01.21.08 at 1:13 am }

I’m not a VCS/SCM expert – I use it to do my job better. If you view RCS/CVS style of version control as the mainstream, then the two commercial ones that I know of that take a radically different approach are ClearCase (fileystem model IIRC, introduced a long time ago) and AccuRev (streams, much newer).

The distributed open source systems are also radically different approaches, and there are more of them. So, yes, AccuRev is innovative, but they’ve been about the only commercial innovator, compared to at least four open source projects. So I’m critical of the overall commercial side, not AccuRev.

The dynamics of open source projects – typically widely distributed, unlike most commercial projects – probably has a lot to do with the development of innovative open source distributed version control; I can’t think of a centralized open source version control project that has noteworthy innovations.

Tony

Leave a Comment