gitversion-controlrtc

How to migrate from RTC Jazz to Git?


My team was forced to migrate from SVN to the RTC Jazz scm about a year ago. since we are very unhappy with RTC we have decided to abandon it and switch over to Git for version-control.

I haven't found a lot of info about migrating out of RTC in general, but I did find this Rational Adapter for Git (that I'm not sure can be used for this kind of migration).

What will be the best way to migrate our source code and change history from RTC jazz to Git?


Solution

  • Since we run into the same issue and we wanted to keep our history we started to create a python script, which automates the process to migrate RTC SCM Stream by Stream to GIT.

    The script can be found here: https://github.com/rtcTo/rtc2git

    Some details how the program works - Its based on the RTC CLI.

    1. It inits an empty git repository clones it and in there it creates a workspace based on your oldest stream.
    2. For a given stream, given by a config file, it reads the baselines of the component.
    3. For each baseline of this component a compare command will be executed (to see all diffs, sadly comparing directly with latest stream throws an exception @RTC Version 5.0.1)
    4. The output of the compare will be parsed to get to the necessary informations (author, comment, date etc..)
    5. The change will be accepted in the workspace and shortly after the corresponding git command will be executed to do the same in git

    For each stream a branch will be created

    Basically that's it. If you want I can also provide some sample commands, which have helped me to get to the necessary information (information is quiet rare on specific stuff regarding RTC CLI).

    EDIT: I consider the current version of the program as stable. So give it a try. :) I welcome any feedback.