Feeds

AccuRev streams ahead

Stream-based tool for software configuration management

The Power of One Brief: 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." ®

Securing Web Applications Made Simple and Scalable

More from The Register

next story
Whoah! How many Google Play apps want to read your texts?
Google's app permissions far too lax – security firm survey
Chrome browser has been DRAINING PC batteries for YEARS
Google is only now fixing ancient, energy-sapping bug
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
EU dons gloves, pokes Google's deals with Android mobe makers
El Reg cops a squint at investigatory letters
Big Blue Apple: IBM to sell iPads, iPhones to enterprises
iOS/2 gear loaded with apps for big biz ... uh oh BlackBerry
OpenWRT gets native IPv6 slurping in major refresh
Also faster init and a new packages system
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
prev story

Whitepapers

Top three mobile application threats
Prevent sensitive data leakage over insecure channels or stolen mobile devices.
The Essential Guide to IT Transformation
ServiceNow discusses three IT transformations that can help CIO's automate IT services to transform IT and the enterprise.
Mobile application security vulnerability report
The alarming realities regarding the sheer number of applications vulnerable to attack, and the most common and easily addressable vulnerability errors.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
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.