Search code examples
tfsmigrationout-of-memoryclearcasetfs-migration

Migrating from ClearCase to TFS - Out Of Memory Exception


I'm trying to migrate a large ClearCase stream (it has a large history set too) to TFS 2010 using "TFS Integration Tools".

The tool hangs at TfsMigrationShell.exe Information: 0 : VersionControl: ClearCase history command: 'lshistory -minor -since 01-Jan-0001.00:00:00 -eventid -recurse -fmt "*%n*%o*%m*%e*%d*%Nc*%l##" -pname \IB_FE' and then it gives the following run time error: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.String.Split(String[] separator, Int32 count, StringSplitOptions options) at Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseCommandSpec.ParseHistoryTable(String cmdOutput) at Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseServer.GetHistoryRecords(ReadOnlyCollection'1 filters, DateTime since, Boolean writeHistoryRecordsFound) at Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseAnalysisProvider.queryHistory(ChangeGroupService changeGroupService) at Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseAnalysisProvider.GenerateDeltaTable() at Microsoft.TeamFoundation.Migration.Toolkit.AnalysisEngine.GenerateDeltaTables(Guid sourceId)

Please advise.

Thanks in advance.


Solution

  • The issue is that:

    Since you cannot modify the tool in order to import only up to a certain data "d1", the "d1" to "d2", and so on until "present day", I would really consider:

    • importing only a very short history of ClearCase into TFS (the last 5 baselines for instance, if you were using ClearCase UCM)
    • keeping ClearCase in read-only mode, if you need to go back to older history (for archive).