我正在寻找从 ClearCase 迁移到 SVN 的工具。
理想情况下希望获得所有历史信息,或者尽可能多地获得。
增量合并将非常有益,但不是必需的。
这看起来是最好的。Polarion 的业务是 SVN,所以我想他们有既得利益让尽可能多的人使用它......
哦,事先备份所有数据,先在测试存储库上进行,等等等等。
我遇到了与 Peter 相同的问题:Polarion 脚本无法继续处理大型 CleraCase VOB,并且总是以 Java Heap Size out-of-memory 错误告终。
我还遇到了另一个导致导入后数据损坏的关键问题。
Polarion 脚本就是这样工作的:
我设法在一个较小的 VOB 上运行 Polarion 脚本。一切看起来都很好(导入成功完成,没有错误消息),但 SVN 存储库不可用(无法检查,没有确切的错误消息) - 尝试了几次,结果相同。
我了解该脚本正在根据自己的代码而不是任何 SVN API 重建 SVN DUMP 文件。它可能是为特定版本的 SVN(1.4,也许是 1.5?)而设计的,而我使用的是 SVN 1.6。此后,DUMP 文件格式可能已更改,或者 Polarion 脚本无法正确处理特定 ClearCase 数据的某些副作用。然而,在一天结束时,它只是不工作。
因此,我强烈建议使用另一种解决方案,并且可能基于 cleartool 和实际的 SVN API 构建您自己的脚本,以避免任何数据一致性问题。
从 clearcase 迁移并非易事。polarion 进口商会为您提供支持,但是,大型 clearcase 存储库的历史和速度很难估计。
历史只会从 main 导入所有文件,不会考虑任何目录版本。问题是,如果您重命名它们,将放入标签中的文件具有最新名称。导入器也不会迁移已删除的文件。
由于导入器无法使用您的配置规范,它只会显示分支中更改的文件,因为 clearcase 使用延迟分支,这与 svns 分支机制完全不同。
迁移工具不支持合并跟踪,因为 SVN 仅从 1.5 开始支持它
只是另一种体验:
我们使用“自定义脚本”而不是 Polarion 工具。
这样,我们可以:
我们使用动态视图来更改其配置规范,并将所有我们感兴趣的标签导入 SVN。
注意:我们使用 UCM 对导出操作有很大帮助:
Polarion 工具的最后一个版本是从 2006 年开始的,它只是无法处理大型 CC vobs。就我而言,它总是因堆溢出而崩溃,即使是最大的 java 堆空间也不够用。所以对我没有好处。