August 11, 2016

Jumping From ClearCase to Helix Core

Migration

Once upon a time, I was enamored with ClearCase. In 1994 when I first started using it, I’d say it was the best version management system on the planet. It was the only one at the time that understood the importance of branching and merging. Branching (easy) and merging (not so easy) enabled effective collaboration. But over the years, dealing with the excessive complexity and poor performance of ClearCase made it unbearable.

I first discovered and fell in love with Perforce in 1999. I’ve joked over the last 17 years since that the only thing I’ve done with ClearCase has been rescuing people from it. 

Perforce, A Love Story

Part of what made me fall in love with Perforce's version control solution, Helix Core, was that it had the same strengths I’d come to enjoy (and expect) from ClearCase. But where ClearCase had lots of user-visible complexity, Helix Core seemed to have been built with more of a “Pay as you go” attitude toward the sophistication/complexity trade-off.

If your needs were simple, you could be up and running in a day or so with Helix Core. If you have to manage the contributions of thousands of users across the globe, Helix Core has the chops in terms of sophistication, performance and features to meet the diverse needs of complex global teams.

Driven by the Competition

In recent years, driven by competition from companies like Git, Helix Core has further evolved. It used to take as little as “a day or so” to get started with Helix Core. Now it’s got to be more like “a second or so” with distributed version control workflows. Thanks to p4 init, much like git init.

These days, folks looking to leave ClearCase are generally looking at either:

  • Switching to Perforce and stick with a central version control model.
  • Adopting a DVCS model using Helix Core or Git with some repository management solution.

Perforce is one of several key players in the Git repository management space. Helix4Git is uniquely positioned as the only solution with a mono-repo engine on the back end, which has some compelling advantages today. 

Ex-ClearCase Users Weigh In

ClearCase hasn’t changed all that much since I started using Perforce. Meanwhile, Perforce has continuously upgraded.

Top 3 Helix Core features for ex-ClearCase users:

  • Formatted Output: Play with p4 –ztag –F formatted output. It’s a rough equivalent to ClearCase formatted output, which enables scripts and users to interact with the server.
  • Triggers: ClearCase administrators are often a bit trigger happy, developing various triggers to help guide development processes. Helix Core has similar capabilities.
  • Streams: The powerful graphically guided workflows of Perforce Streams take the cake. No ClearCase comparison required.

Easy and Lightweight ClearCase Migrations

Perforce Support and Consulting organizations help customers migrate from a wide variety of legacy version control systems. ClearCase migrations experience a well-trodden migration paths to Perforce.

The Baseline and Branch Import (BBI) strategy remains most popular migration strategy. For those who want every bit of detail that can be extracted from ClearCase, detailed history imports (DHI) are possible as well. We often work with our partner, VIZIM Worldwide, when doing detailed history import migrations.

Branch Away From Trunk Based Development

I know of some customers using trunk-based development strategies might embrace the "no-branching allowed" philosophy. Authors point out that even with good tools, merging can be hard. 

Merging can be insanely hard if you’re stuck with using poor tools. But given options like Helix Core and Helix4Git, it is not a challenge.

It’s true enough that merging can still be difficult.  But I get the sense that folks may be overacting to bad experiences with tools lacking good merging capability. Specifically tools like Subversion and CVS.  Folks coming from ClearCase understand the benefits of good merging.

A great thing about Helix Core is that it supports a wide variety of branching strategies, and has a lot to offer regardless of whether you’re heavy into branching or trying to avoid branching.