Las Vegas, Nevada
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.
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.