Source Code Control Alternatives

 < Day Day Up > 

There are many choices in the source code control marketplace. I’ve listed a few in Table 3.2, but this is certainly not an exhaustive list. When you’re ready to start shopping seriously, spend a few minutes with Google or talk to developers you know to get other recommendations.

Table 3.2: Some Representative Source Code Control Software











Visual SourceSafe

The following list explains these in some detail:

AccuRev AccuRev is a high-end source code control system that uses a client-server architecture. It uses a lightweight TCP/IP protocol, so it’s well suited for distributed teams working over the Internet. It emphasizes atomicity of all operations and immutability of everything in the repository. It also features a set of graphical management tools that provide one of the easiest-to-use IDEs of any of the products I've looked at. It's very well suited for projects that have many versions or complex branching. AccuRev is available for both Windows and UNIX systems.

BitKeeper BitKeeper is a cross-platform solution, supported on Windows, Linux, Unix, and MacOS/X. BitKeeper is free for open source projects, but commercial use requires purchasing or leasing a license for each developer. It uses a distributed repository design so that it is very scalable and easy to use for developers who are only occasionally connected to the main repository. BitKeeper is the source code control system that’s currently used by the Linux kernel developers. This is an excellent indication of its ability to handle large projects involving many developers distributed around the globe.

ClearCase IBM Rational ClearCase is one of several systems available for medium and large enterprises. IBM calls ClearCase a Software Asset Management system, indicating that it does more than just source code control. For example, ClearCase can handle build management for you, as well as disconnected and replicated work scenarios. There’s also a builtin change management process to structure your team’s activities. Cross-platform support includes Windows, Unix, Linux, and some mainframes. You’re probably not going to use ClearCase or one of its direct competitors for a small team, but you might run into it if you’re consulting for a large organization.

CVS CVS is the most widespread open-source source code control system out there. It’s used by thousands of projects, many of which are available over the Internet at sites like SourceForge ( It uses a client-server model, with files being stored in a central repository, and is specifically oriented toward the edit/merge/commit style of working. Although it lacks advanced features found in some other systems, it’s a welltested piece of software that will be all that many teams will ever need. There are CVS clients and add-ons for almost any purpose you can name. One intriguing add-on is TortoiseCVS (, which lets you work with CVS directly from Windows Explorer.

Perforce Perforce is a client-server system that boasts of being optimized for speed, so that developers are never bogged down by their source code control. It offers strong support for complex branching, and emphasizes atomic change sets—checking in multiple files as a single unit of work. Perforce probably supports a wider variety of operating systems than any of its competitors, making it ideal for cross-platform development. Microsoft is rumored to be using a custom version of Perforce for at least some of its internal projects.

StarTeam StarTeam is Borland’s entry in the high end of this market, and may be overkill for the small development team. StarTeam offers extensive customization through Java, COM, and .NET APIs, so you can integrate it with just about any process you like. StarTeam includes serious security capabilities, as well as integration with requirements, change management, and workflow systems. Like ClearCase, StarTeam will show you some of the possibilities that exist if your projects ever outgrow simple source code control.

Subversion Subversion is an open-source attempt to build a “better CVS.” Among the differences between Subversion and CVS are support for arbitrary properties attached to files, the use of the Apache Web server as a network server, increased protocol efficiency, and efficient handling of binary files. The jury is still out on how well they’ve succeeded, but if you’re cash-poor it’s worth a look.

Vault SourceGear got its start by providing a means for VSS users to work more efficiently over the Internet. Now SourceGear has launched its own source code control system using a modern architecture; Vault uses Microsoft SQL Server for its repository and web services for much of its communications. It supports both edit/merge/commit and check-out/edit/ check-in styles of working (I’ll explain these two styles in detail later in this chapter), includes relatively fine-grained security features, and integrates well with Visual Studio .NET.

Visual SourceSafe VSS, of course, is the source code control system that Microsoft ships to customers (though not the one that most Microsoft projects use internally). It supports only check-out/edit/check-in, and is horridly inefficient over the Internet. For relatively small projects, VSS may be adequate, but it’s not state of the art.

 < Day Day Up > 

Coder to Developer. Tools and Strategies for Delivering Your Software
Coder to Developer: Tools and Strategies for Delivering Your Software
ISBN: 078214327X
EAN: 2147483647
Year: 2003
Pages: 118

Similar book on Amazon © 2008-2017.
If you may any questions please contact us: