从 Clearcase 迁移到 SVN 的工具有推荐吗?[关闭]
题
我正在寻找从 ClearCase 迁移到 SVN 的工具。
理想情况下希望获得所有历史信息,或者尽可能多的历史信息。
增量合并将非常有益,但不是必需的。
解决方案
这 看起来最好的。Polarion的业务是SVN,所以我猜他们有既得利益 让尽可能多的人使用它...
哦,事先备份所有数据,首先在测试存储库上执行此操作,等等。
其他提示
我遇到了和Peter同样的问题:Polarion 脚本无法继续处理大型 CleraCase VOB,并且始终会出现 Java 堆大小内存不足错误。
我还遇到了另一个导致导入后数据损坏的严重问题。
Polarion 脚本是这样工作的:
- 使用cleartool命令访问ClearCase数据
- 使用自己的算法将这些数据转储到 SVN DUMP 平面文件中
- 使用svnadmin导入SVN中的转储文件
我设法在较小的 VOB 上运行 Polarion 脚本。一切看起来都很好(导入成功完成,没有错误消息),但是 SVN 存储库不可用(无法检查它,没有记住确切的错误消息) - 尝试了几次,结果相同。
我知道该脚本正在根据自己的代码而不是任何 SVN API 重建 SVN DUMP 文件。它可能是为特定版本的 SVN(1.4,也许是 1.5?)设计的,而我使用的是 SVN 1.6。此后 DUMP 文件格式可能已更改,或者 Polarion 脚本无法正确处理特定 ClearCase 数据的某些副作用。然而最终它不起作用。
因此,我强烈建议使用另一种解决方案,并且可能基于cleartool和实际的SVN API构建您自己的脚本,以避免任何数据一致性问题。
从 Clearcase 迁移并不是一件容易的事。Polarion 导入器会为您提供支持,但是大型 Clearcase 存储库的历史和速度很难估计。
历史记录只会导入主目录中的所有文件,不会考虑任何目录版本控制。问题是,如果您重命名了将放入标签中的文件,则它们具有最新的名称。此外,导入程序不会迁移已删除的文件。
由于导入器无法使用您的配置规范,因此它只会显示分支中已更改的文件,因为clearcase使用延迟分支,这与svns分支机制完全不同。
迁移工具不支持合并跟踪,因为 SVN 仅从 1.5 开始支持它
只是另一种体验:
我们使用“自定义脚本”而不是 Polarion 工具。
这样,我们就可以:
- 使用动态视图(更新速度快)
- 准确选择我们要导入的分支
- 仅导入带有标签的版本(避免导入大量版本,而没有人会真正利用这个巨大的历史记录)
- 导入最后一个标签和最新标签之间的所有版本(对于给定分支)
我们使用动态视图来更改其配置规范以及我们感兴趣的导入到 SVN 的所有标签。
笔记:事实上,我们使用 UCM 对出口业务有很大帮助:
- 分支被清楚地识别(在其附属的流之后),并且
- 标签设置为 全部 给定组件的文件(在 Base ClearCase 中,可以为任意数量的文件设置标签)
Polarion 工具的最新版本是 2006 年的,它无法处理大型 CC vobs。就我而言,它总是因堆溢出而崩溃,甚至最大的 java 堆空间也不够用。所以这对我来说没有好处。