Feeds

AccuRev streams ahead

Stream-based tool for software configuration management

The Power of One eBook: Top reasons to choose HP BladeSystem

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." ®

HP ProLiant Gen8: Integrated lifecycle automation

More from The Register

next story
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
Do YOU work at Microsoft? Um. Are you SURE about that?
Nokia and marketing types first to get the bullet, says report
Microsoft takes on Chromebook with low-cost Windows laptops
Redmond's chief salesman: We're taking 'hard' decisions
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
EU dons gloves, pokes Google's deals with Android mobe makers
El Reg cops a squint at investigatory letters
Chrome browser has been DRAINING PC batteries for YEARS
Google is only now fixing ancient, energy-sapping bug
Big Blue Apple: IBM to sell iPads, iPhones to enterprises
iOS/2 gear loaded with apps for big biz ... uh oh BlackBerry
prev story

Whitepapers

Reducing security risks from open source software
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
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.
Application security programs and practises
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Consolidation: the foundation for IT and business transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.