views:

811

answers:

2

What tools are available to migrate from clearcase to mercurial? Is it possible to move history? What kind of limitations are there?

+1  A: 

You might start on the mercurial site at Information for Clearcase/UCM Users and at Conversion of ClearCase repositories to Mercurial

Peter Rowell
+2  A: 

Do not forget that ClearCase (Central VCS) and Mercurial (Distributed VCS) are very different.
See Core ClearCase concepts for a full list.

In the case of a migration, that means you are dealing with a repository-centric VCS (Mercurial) which implies "working with timelines" (a timeline being a commit, building a new changeset)
In ClearCase though, there is no global timeline, as each file is committed individually (file-centric VCS).

So for a migration, you need to setup a ClearCase dynamic view with a config spec you will change to list all relevant "ClearCase timelines" (labels for non-UCM views or even better: baselines for UCM views) and import that fixed state into Mercurial.
And repeat the process until the most recent label/baseline.

The idea is: there is often no need to import the all history of all the files when migrating from ClearCase to another (D)VCS. Only the "significant" changes need to be recorded.
I would not recommend the "Conversion of ClearCase repo to Mercurial" article, especially for large and old ClearCase repositories.

See also SVN migration for other considerations.

VonC