How to Perform a Continuous Migration

Continuous Migration

During your migration, you may find it necessary to update your legacy app. Now the post-migrated source code and the production system are out of synch. But no worries: Mobilize has developed a process over time to allow for the re-migration of the source code during a migration project, without losing any manual changes already applied to the migrated code.

This process is recommended to:

  • Integrate changes to the original source application in the middle of the migration process
  • Use a new version of the Visual Basic Upgrade Companion that corrects a migration issue that requires a large amount of manual changes or has a high technical complexity but are easy to implement in the migration tool (i.e.: a change that affects several files), thus optimizing the migration process.
  • Use a different migration profile in VBUC to handle a particular technology.

This process can be performed at several stages during the migration project.

When used for optimizing the migration project it can greatly reduce the effort required by creating a feedback loop with the Visual Basic Upgrade Companion to continually increase automation and reduce the manual work involved. This is important because during migration projects, some issues are not detected until manual changes are underway. If the amount of occurrences of a single type of issue is significant, it makes sense to design a solution that can be automated by the VBUC. This will fix the issue and reduce the risk of applying the fix to the migrated code manually.

The process followed by Mobilize is based on the industry standard best practices for branching and merging source code. It relies on the source control system, either Subversion or Microsoft's Team Foundation Server, to perform a three-way merge between the baseline green code, the newly migrated green code, and the current code with manual changes.

Continuous Migration Setup

The continuous migration process relies on the source control system. The recommended folder configuration in the source control system forcontinuous migration is to have three top-level folders, as shown in the following diagram:

continous Migration Diagram

  • VB6.0 Source Code: Stores the Visual Basic 6.0 source code that will be migrated
  • Green Code: Stores the resulting green code from the execution of VBUC on the VB6.0 source code
  • Migrated Code: Originally a copy of the green code, all manual changes are made to this copy of the migrated source code.

Continuous Migration

Once the code is stored in the source control folder structure, the following process should be followed to perform a re-migration of the VB6 code:

  • Re-run VBUC to generate new green code with the desired changes
  • Replace the original green code with the newly generated green code in the local copy.
  • Create a change set between the green code in the source control system and the new green code.
  • Check in the green code changes. Make sure that a comment or tag is added with the following information:
    • Green code date
    • VB6 source code date and version
    • VBUC version used to generate the green code
  • Merge the newly generated green code and the current migrated code using the information from the change set. Since the change set only contains the changes between the previous and the new version of the green code, the resulting code from the merge will have both the changes in the green code and the manual changes previously performed on it.
  • Fix merge conflicts, if any.

Continous Migration Structure

By following these simple five steps it is possible to re-migrate the application several times without losing the manual changes already applied to the migrated code.

Talk To An Engineer

Call us today at 1-425-609-8458 or email us at info@mobilize.net.