Reviews

Review: Evolution

Evolution 2.0.1.68
$550
ionForge Corporation
Las Vegas, Nevada
(702) 562-1370
www.ionforge.com

ionForge's Evolution source code control system came out about a year and a half ago. I liked it the first time around, so when 2.0 was released recently I decided to take another look. The basics of the product remain unchanged, but they've done some nice polishing and added a few new features as well.

Evolution is a client-server system that uses encrypted and compressed messages over TCP/IP to enable high-performance remote use. It supports both exclusive locks and non-exclusive locks, so you can decide whether to allow multiple developers in the same file or not. Even better, it's also got the concept of a deferred lock - when you request a deferred lock, the current holder gets e-mail, and you're next up to edit.

The key innovative concept here is the Production. A Production is, roughly, a versioned component: a set of files and folders that can be tracked and used to build something. Productions can be nested, and you can keep track of their history and diff them. Thus, if you want to know what changed between version 1 and version 1.5 of the graphics library, it's as easy as diffing the corresponding Production, even if you added new folders containing additional files for 1.5.

There are some other nice things here as well. If you're working simultaneously on two versions, you can set up a Reflection. When you reflect 1.0 and 1.5, changes to the 1.0 files are automatically made to the 1.5 files, until the 1.5 files are changed. This breaks the link on a file-by-file basis. (You can also share files between Productions if you want a two-way link).

Separately, you can define a release process consisting of various steps (alpha, beta, beta 2, release, and so on) and then assign versions of each production to particular steps on the build ladder. There are excellent visual tools for telling where each component is along the build ladder, and for designating things as ready to move along. If you've got different teams working on components of a larger project, this makes it easy to tell when it's time to pull together the overall release, and which versions of which Productions it should contain.

Other features here include the ability to save work in progress without propagating your saved version to other users, the ability to import a SourceSafe database as a starting point, and good support for security. Version 2 adds a Status Monitor window that gives you a realtime view of what's being worked on (the administrator can disable this if it gets to be too much load), tighter integration with Visual Studio, and various user interface improvements, as well as an overall performance boost.

Pricing starts at $550 per user, with quantity discounts, but at the moment there's a special competitive upgrade price of $99 from any other source code control system. You can also download a two-user trial version with no expiration date from the ionForge Web site.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.