Feeds

AccuRev streams ahead

Stream-based tool for software configuration management

Providing a secure and efficient Helpdesk

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

Secure remote control for conventional and virtual desktops

More from The Register

next story
'Windows 9' LEAK: Microsoft's playing catchup with Linux
Multiple desktops and live tiles in restored Start button star in new vids
Not appy with your Chromebook? Well now it can run Android apps
Google offers beta of tricky OS-inside-OS tech
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
Greater dev access to iOS 8 will put us AT RISK from HACKERS
Knocking holes in Apple's walled garden could backfire, says securo-chap
NHS grows a NoSQL backbone and rips out its Oracle Spine
Open source? In the government? Ha ha! What, wait ...?
Google extends app refund window to two hours
You now have 120 minutes to finish that game instead of 15
Intel: Hey, enterprises, drop everything and DO HADOOP
Big Data analytics projected to run on more servers than any other app
prev story

Whitepapers

Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.
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?
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.