Feeds

AccuRev streams ahead

Stream-based tool for software configuration management

Build a business case: developing custom apps

Think streams, not files. That is the key concept of AccuRev, a source-code management system which is winning praise for its innovative and effective approach.

"Streams are high-level objects almost like containers for versions of files, but they are the main objects in the system," says vice president of technology Brad Hart . "We don't introduce any overhead when it comes to branching."

This last point is critical.

Hart claims that in other tools "the largest conceptual entity is a file", whereas what matters in business terms is not individual files but entire releases. Branches, tags, and labels deal with the problem to some extent, but AccuRev's hierarchical streams are a more elegant solution.

Each stream is a configuration of the repository, including the set of files checked out to a developer's workspace, and each stream other than the root has a parent. Changes are propagated by promoting them between streams. This begins with the working files, which remain private to an individual developer until they are promoted, though they can first be checked into a personal stream on the server with the Keep command. The system shows its power with operations like reparenting, where a stream or workspace is moved from one parent stream to another.

The stream concept makes AccuRev particularly well suited to environments where there are numerous code branches. Hart says this is common in the financial industry, where each customer may want its own customised build.

One of the challenges of such environments is dealing with repeated merges. Imagine you have a main branch, another for customer A, and another for customer B, all of which are active. At some point you merge some of the revisions back to the main branch, but then continue working on the customised configurations. Later you need to do a second merge. This is likely to be painful unless the tool has a concept of merge history and tracking, so that it remembers how past conflicts were resolved.

Rational's ClearCase has this feature, but Subversion does not, though its developers are working on it for the forthcoming 1.5 release.

AccuRev is built with Java and C++, and installation is straightforward, although the current release needs coaxing to install on Windows Vista (AccuRev claims that this is now fixed), where it tries to use a Unix directory structure that does not exist. It also ships with an old version of the Java runtime that disables Vista's Aero graphics, though fortunately not many corporate developers are using Vista as yet.

AccuRev work is done through a Java GUI client, through a command line interface, or through plug-ins for popular IDEs including Eclipse and Visual Studio. There is no web interface, and no direct integration with LDAP directories or Active Directory, though it is possible to set up directory synchronisation.

This is a tool which ticks most of the source code management boxes, including atomic transactions, support for snapshots which freeze a stream to a particular set of file versions, optional file locking, and good performance over wide area networks. You can also create replica servers which improve performance at remote sites. It is not quite as good as Subversion for offline working, since it does not maintain any local version history, but this is under development. A useful enhancement is that AccuRev has built-in issue tracking, not at a level which competes with specialist tools, but adequate for some scenarios.

An interesting twist is that AccuRev is one of several SCM vendors supporting Eclipse ALF (Application Lifecycle Framework), which aims to create a common API for application lifecycle tools to provide easier integration. ALF is meeting a real need among users who prefer to pick best-of-breed tools from multiple vendors, though several large players are conspicuous by their absence; perhaps they prefer a degree of lock-in.

Case study

John Mears is technical architect at MessageLabs UK. His company has around 50 developers, some of whom work in other countries, and he does mixed development on Linux and Windows. Around three years ago he switched to AccuRev from a mixture of CVS and SourceSafe.

Why not Subversion? "They had fixed a lot of the annoying things with CVS, but I wasn't convinced it was going to be easy to manage many branches at the same time, which is what we do a lot of, and what AccuRev is good at."

Mears is pleased with his choice, though there are niggles. "It would be good to have a web interface," he says. "In fact, I've written a web interface for it, which I make available to other AccuRev customers. Another issue is the upgrades. There seems to be little compatibility between versions of the clients and the server, so you end up doing a flag day upgrade which, if you've got 50 or 60 people, becomes a nuisance." ®

Boost IT visibility and business value

More from The Register

next story
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
Microsoft refuses to nip 'Windows 9' unzip lip slip
Look at the shiny Windows 8.1, why can't you people talk about 8.1, sobs an exec somewhere
Munich considers dumping Linux for ... GULP ... Windows!
Give a penguinista a hug, the Outlook's not good for open source's poster child
Intel's Raspberry Pi rival Galileo can now run Windows
Behold the Internet of Things. Wintel Things
Linux Foundation says many Linux admins and engineers are certifiable
Floats exam program to help IT employers lock up talent
Microsoft cries UNINSTALL in the wake of Blue Screens of Death™
Cache crash causes contained choloric calamity
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
7 Elements of Radically Simple OS Migration
Avoid the typical headaches of OS migration during your next project by learning about 7 elements of radically simple OS migration.
BYOD's dark side: Data protection
An endpoint data protection solution that adds value to the user and the organization so it can protect itself from data loss as well as leverage corporate data.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?