Archive for August, 2011

Version Control System – or How to End the Madness of Managing Multiple Revisions

August 30th, 2011 by clucca

Perhaps this is a recurring nightmare that makes you wake up screaming at night – you have multiple development teams working feverishly on making revisions to your most popular software line and suddenly you have NO IDEA where you are with the revised build and all the branching and merging has taken on a life of its own.

I have three words for you – version control system. Those three simple words can make all the difference between going down a nightmarish rat-hole of revisions and having a wildly successful, new-and-improved product launch. A version control system should be an integral part of your software configuration management (SCM) tool so that you and your team members can easily keep track of multiple revisions during parallel concurrent development. A good, comprehensive version control system is critical for development projects that include lots of codeline management and sharing between team members, especially when the teams are geographically distributed or located offshore.

So what makes a really good version control system for multiple revisions?

Well, it starts with stream-based architecture that takes the place of the traditional branch-and-label process. Because streams contain everything associated with a particular file, you can develop a rock-solid history of everything that happens during the revision process, creating an immutable audit trail that’s ideal for both internal audits and regulatory compliance. The comprehensive nature of stream-based architecture also makes rolling back to a previous file version faster, easier and a whole lot safer because the stream contains everything associated with that particular file.

Ideally, a good version control system provides a graphical dashboard that enables you to visually track all changes, making parallel and concurrent development easier and more intuitive. Graphical visualization also makes comparisons of different file versions safer, highlighting differences and minimizing the chance of error. And because visualization makes comprehension easier, merging codelines becomes simpler and quicker by reducing the amount of time spent analyzing and resolving merge conditions. As a result, branching and merging then become easier and more efficient, encouraging innovation while reducing time to release.

If you’re practicing agile software development, then you know the importance of multiple development teams and sharing. With an advanced version control system in place, sharing becomes much easier because developers can safely version in-progress code, store it in a private workspace, and share it with other team members when necessary. This means development teams can operate with greater flexibility and creativity, building features or entire codelines independently.

There’s a variety of different version control system tools available for managing multiple revisions, ranging from simple, basic freeware with minimal functionality to comprehensive systems that provide core version control functionality as well as sophisticated graphical configuration and codeline management. Depending on the size and scope of your development projects, there’s a version control system available that can meet your needs and end the multiple revision management madness.

Source Code Control Made Easy With Streaming

August 26th, 2011 by clucca

Source code control is one of those topics that can cause some software developers to sweat profusely and make the veins to pop out of their necks, especially if the project includes working with third-party or vendor code – and these days, what project doesn’t include vendor code?

I should probably start by defining source code control as that mechanism for checking source code in and out of a central repository, enabling several developers to work on the same project simultaneously without the risk (hopefully) of mucking up the source code in the process.

If that isn’t difficult enough already, add vendor code customization to the mix and even the sanest developer becomes a serious candidate for expensive therapy. After all, isn’t traditional branch-and-merge challenging enough without adding a entirely new layer of software configuration management for the vendor code and its corresponding upgrades?

Most of the headaches associated with source code control and management can be attributed to traditional, file-based branch and label source code control tools. The problem stems from traditional branch-based SCM models that require numerous branches to track both vendor source code and custom modifications to that code. Individual branches are needed to track just the vendor code, making merging really unwieldy, especially if you want to do a branch-to-branch merge. Throw in a vendor upgrade and then try to merge a subset of existing custom features and you can see how this can rapidly get ugly.

What’s the answer? Real simple: streaming.

Think of streaming as “intelligent” branching. What makes streaming so great for source code control is that each stream contains every single file needed for that specific source code configuration. They are complete entities unto themselves. Streams can be arranged in a simple “parent-child” hierarchy with a built-in feature that causes configurations to be automatically inherited by every new stream from the parent stream. Even better, the inheritance can also apply to any previous, older streams!

In fact, stream-based architecture provides a host of developer-friendly source code control benefits, including:

  • a flexible release process that includes integrated source code control and issue-tracking
  • private developer workspaces that enable private versioning  with continual server-backup
  • instant, authentic, single-step renaming of any object in the source code control system with full history preservation so no changes are lost

If you’d like to know more about stream-based source code control, especially when using third-party code, we’ve got a free white paper you can download: Managing Vendor Code Customizations with AccuRev’s Stream-Based SCM.

What’s New in AccuRev Version 5.2?

August 22nd, 2011 by damonpoole

I’m very excited about our 5.2 release! We’ve completed the move to PostgreSQL on the back end, fully internationalized our products, and added a slew of new features, like per-element security so that you can lock down certain files or directories to specific groups or users.

In addition to moving to PostgreSQL, we’ve taken advantage of its capabilities to increase performance in a few key areas such as update, especially when using cross-links, populate, and more. And as a first step towards fully embracing 64bit servers, we now support 64bit CPUs on Linux servers. You can look forward to additional performance boosts as we exploit the capabilities of PostgreSQL in the future.

Haven’t upgraded in a while? Check out what else is new! To get a full flavor of all of the new functionality we’ve added recently, check out recent webinar which highlights what’s new.

If you haven’t tried our plug-ins in a while, we’ve put out new releases of our Eclipse and Visual Studio plug-ins for all versions of AccuRev. Eclipse and Visual Studio plug-ins will work with older releases, so no need to wait for 5.2 to start benefiting from the new features in the plug-ins.

We’ve fully integrated the Web UI into the plug-ins so you can now use all of the following functionality: version browser, annotate, stream browser, and all of AccuWork. Also, in 5.2 you can now access the Web UI with a single click from most screens. For instance, if you want to send somebody a URL of a file or diff, you can just click the “copy to clipboard” button in the toolbar and then compose an e-mail to somebody and paste in the URL. When they click the URL, they will go right to that file or diff. And the Web UI now allows you to print any table that it supports.

While we are in the process of making the new functionality in the Web UI available in all of our UIs, this is a great first step to quickly link to the new functionality.

A Few More Details on What’s Available Via the Web UI
If you haven’t used the Web UI or are using an older version, you may not have heard that there is an entirely new version browser in the Web UI and for AccuWork users- AccuWork on the Web has been completely revamped. For instance, it is easy to search by keyword and you can do drag and drop query editing.

5.3 and Beyond… Here We Come!
The database and internationalization are two very important infrastructure changes which will accelerate both our engineering velocity as well as our market penetration. With our upcoming 5.3 release we will be re-introducing our quarterly pace of releases as we had with our 4.8 and 4.9 releases. With the switch to PostgreSQL and an internationalized code base complete, you will see the release of new functionality faster than ever before. In preparation for 5.3 and beyond, we’ve just launched a new product survey as one of the many ways we collect product priorities. Make sure to look for it and fill it out. It is one of the best ways to have a significant impact on our product roadmap. If you haven’t gotten an e-mail yet, you may not be in our survey database. Just ask your AccuRev administrator for a link.