我正在尝试使用“TFS 集成工具”将大型 ClearCase 流(它也有大量历史记录集)迁移到 TFS 2010。
该工具卡在 TfsMigrationShell.exe 信息:0:版本控制:ClearCase 历史命令:'lshistory -minor -since 01-Jan-0001.00:00:00 -eventid -recurse -fmt "*%n*% o*%m*%e*%d*%Nc*%l##"-pname\IB_FE'
然后它给出以下运行时错误:
System.OutOfMemoryException:引发了“System.OutOfMemoryException”类型的异常。
在 System.String.Split(String[] 分隔符,Int32 计数,StringSplitOptions 选项)
在 Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseCommandSpec.ParseHistoryTable(字符串 cmdOutput)
在 Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseServer.GetHistoryRecords(ReadOnlyCollection'1 过滤器、日期时间自、 bool writeHistoryRecordsFound)
在 Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseAnalysisProvider.queryHistory(ChangeGroupService changeGroupService)
在 Microsoft.TeamFoundation.Migration.ClearCaseDetailedHistoryAdapter.ClearCaseAnalysisProvider.GenerateDeltaTable()
在 Microsoft.TeamFoundation.Migration.Toolkit.AnalysisEngine.GenerateDeltaTables(Guid sourceId)
请指教。
提前致谢。
最佳答案
问题在于:
- 对于具有大量历史记录的存储库来说,
cleartool lshistory -minor
可能会巨大 - 它也可能不完整,因为 Vob 清理每周都会运行,除非这些作业已被修改以保留它们。请参阅“Keep minor event records after scrubbing a VOB database”
由于您无法修改该工具以仅导入特定数据“d1”,从“d1”到“d2”,依此类推,直到“今天”,我真的会考虑:
- 仅将很短的 ClearCase 历史记录导入到 TFS(例如,如果您使用的是 ClearCase UCM,则为最后 5 个基线)
- 如果您需要返回到较早的历史记录(用于存档),请将 ClearCase 保持为只读模式。
关于tfs - 从 ClearCase 迁移到 TFS - 内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10469515/