Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How to migrate from ClearCase to Bitbucket

Hardik Parekh December 29, 2016

Hi,

We are planing to migrate from Rational ClearCase to Bitbucket. Is there any free / paid tool to migrate ?

 I have been googling to find if i can get any tool but so far no luck.

Do we need to migrate from CleaseCase to SVN and then SVN to Bitbcuket if direct CC to Bitbucket migration is not possible?

As per this article http://stackoverflow.com/questions/542479/what-is-the-best-strategy-when-migrating-from-clearcase-to-svn It seems there are two tools

1) CC2SVN tool

2) importer tool by Polarion

but CC2SVN link is dead and I am not sure if I need to contact Clearvision for getting it.

We want to migrate all CleaeCase Baselines and History.

 

I hope after so many releases and popularity of Bitbucket there is some way to migrate with history form CC to Bitbucket.

It would be of great help, if someone can help me to find the utility or the steps to the migration from ClearCase to Bitbucket. appreciate your help.

 

Thanks,

Hardik

3 answers

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

2 votes
Christie Lyons
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 30, 2016

The clearcase –> git migration that I've been through was painful, tedious, and long.  Partly because our codebase was extensive with hundreds of labels and baselines but hundreds of vobs and extensive interdependencies as well (however we were also migrating to Maven which added to some of my pain). But the main pain point was the culture as the change can be overwhelming.

When I was doing my initial discovery work on this endeavor, sadly also encountered that there really is NO easy way to do this.  A lot of the effort is going to depend on your business needs.  We did create scripts to loop through labels and create folders for each that would later be literally copy/pasted into git repositories as branches but the first couple of vobs were manual efforts.  

I'm not sure there are any scripts that anybody would be able to share with you as I'm quite sure they would vary company to company or even (in my experience) vary vob to vob.

I can offer you things to consider though!

  • Is a vob = repository?
  • label = branch?
  • do you truly need the entire history with all baselines?  clearcase can remain as read only for audit and historical purposes.  Only taking (for ex.) the last 5 released labels will greatly lesson your effort on this
  • You will need to develop an rsync script or some method to keep the two codebases equal as teams test the new yet continue development on the old until the cutover occurs
  • Make sure discussions have been had on git permissions.  Bitbucket permissions can get granular.  ClearCase, you lock a branch.  With bitbucket, you have project, repository, as well as branch permissions and will need to decide who can write to develop, release, etc and whether or not pull requests are required, etc...
  • Prepare yourself to hear "In clearCase we do X so how does git do X..." a LOT!
  • Training on git.  I can't stress this one enough as clearcase - git is quite an extensive endeavor with what can be an overwhelming change for users.  

Here is an article that I referenced frequently during my own migration efforts - https://therub.org/2013/07/19/clearcase-to-git/

Best of luck

Christie

1 vote
Marc De Boeck January 4, 2017

I would advise not to use SVN to migrate from ClearCase to GIT. We have done that for some VOBs, and the result was that the ClearCase UCM history was screwed up in GIT. The tool to migrate to SVN was called svnimporter, which is the Polarion tool if I am not mistaken. This migration was not done by me, but by somebody who didn't have a lot of knowledge of ClearCase. The problem was that each change on each branch of a file-element was registered in SVN as a separate commit. The relation of the changes with the activities was completely lost, as well as the stream/branching structure.

So instead, I did something similar as @Christie Lyons described in a previous answer: I wrote a (perl) script which browsed through the baselines on the integration streams. The script selects one by one the baselines of each integration stream and commits that baseline as a single commit into a GIT repository. The message/comment of each commit, was created from the list of ClearCase activities that were included in each of these baselines. For each deliver-activity, also the comments of the contributing activities were added in the commit message in GIT.

By doing so, we could recreate in GIT the stream hierarchy we had in ClearCase and we had a one-to-one mapping between ClearCase baselines and GIT commits (which were also tagged).

Regards,

Marc

0 votes
Timothy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 29, 2016

I've used the tool from Polarion to do the migration before but get ready for a whole loads of pain and even editing the source code to make that thing work. You should be able to find the Polarion tool yourself and tinker to get it to work.

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

TAGS
AUG Leaders

Atlassian Community Events