Migrating many years of history from Dimensions into RTC
Hello,
Just after some general opinion on the feasibility of migrating all the history from one Change control tool to another. I have already created a script to migrate a bunch of work items from Dimensions and their interconnections and mapped the dimensions fields into RTC and the owners/ creators and statuses along with the final baseline of files in Dimensions with the various metadata attached as file properties (Ralph's various blogs were a great help on this). What I'm now being asked to do is migrate all of the history as well (all file revisions and all baselines, which could be a decades worth or more) and have the exact revisions of an item mapped to the relevant work item and make the right baseline of a component at the right time such that the history of Dimensions could be navigated in RTC. This is a scary proposition for me because I think I would have to have my utility fetch files and information from one system in chronological order cache it and wait for each operation to finish then deliver changes from the filesystem into RTC in the right order along with annotations and baselines such that the project can find and go back to certain milestones as an auditor might come in and want to do this, the idea is that the Dimensions tool in any form will cease to exist in this organisation and so cannot be used to navigate historical data. Has anyone done anything this ambitious? Is this something that IBM could be asked to do for a customer? Not sure I want to touch this task with a barge pole, too many individual operations and too many processes and too many things that could go wrong and too much responsibility. Thanks for any pointers!
Accepted answer
For SCM: Pretty much the same, really. Ideally take one or two baselines.
However, we have projects in our labs and we have customers that migrated all the change history from one tool/repository to another. They used the Java API or existing importers. I am not aware of a migration from dimensions, so you would have to do this yourself.
https://rsjazz.wordpress.com/2013/09/30/delivering-change-sets-and-baselines-to-a-stream-using-the-plain-java-client-libraries/
and
https://rsjazz.wordpress.com/2013/10/15/extracting-an-archive-into-jazz-scm-using-the-plain-java-client-libraries/
should be useful. The software described in the links basically create some history on a stream, by sharing the initial code and then code that has been modified for newer versions of it.
I am not a big fan of that approach. You will create a huge amount of data in the SCM system and it might be very hard to do and expensive to develop this.
I would rather keep the old system and reduce accessibility and you will likely see that after half a year, you can back it up and shut it down and no one will notice.