从Clearcase迁移到SVN的工具推荐?

6
我正在寻找从ClearCase迁移到SVN的工具。
最好能获取所有历史信息,或尽可能多地获取。
增量合并会非常有益,但不是必需的。
5个回答

2
我遇到了和Peter一样的问题:Polarion脚本无法处理大型CleraCase VOB,并且总是出现Java Heap Size内存不足错误。我还遇到了另一个导致导入后数据损坏的关键问题。
Polarion脚本的工作方式如下:
1.使用cleartool命令访问ClearCase数据
2.使用自己的算法将这些数据转储到SVN DUMP平面文件中
3.使用svnadmin将转储文件导入SVN
我设法在较小的VOB上运行Polarion脚本。一切看起来都很好(导入成功,没有错误消息),但是SVN存储库无法使用(无法检查它,不记得确切的错误消息) - 尝试了几次,结果相同。
我了解到该脚本是基于其自身代码重建SVN DUMP文件的,而不是基于任何SVN API。它可能是为特定版本的SVN(1.4,也可能是1.5?)设计的,并且我正在使用SVN 1.6。自那时以来,DUMP文件格式可能已更改,或者Polarion脚本不能正确处理特定ClearCase数据的某些副作用。然而,最终它只是无法正常工作。
因此,我强烈建议使用另一种解决方案,并可能基于cleartool和实际的SVN API构建自己的脚本,以避免任何数据一致性问题。

svn dumpfile 格式应该是版本无关的。 - Scott Markwell

2
这个链接看起来是最好的选择。Polarion公司专注于SVN,所以他们有兴趣让尽可能多的人使用它。在此处了解更多信息。在操作前备份所有数据,并在测试存储库上进行操作等等。

现在它位于http://www.polarion.com/products/svn/svn_importer.php。 - Damien Del Russo

1

Polarion工具的最后一个版本是2006年的,对于大型CC vobs来说它已经无法胜任了。在我的情况下,它总是因为堆溢出而崩溃,即使是最大的Java堆空间也不足以支持它。所以对我来说没有什么用。


1

从ClearCase迁移并不是一项容易的任务。Polarion导入工具可以帮助您完成这项工作,但是对于大型ClearCase存储库的历史和速度很难估计。

历史记录只会导入主要文件,并不考虑任何目录版本控制。问题在于,如果您重命名了文件,那么将放置在标签中的文件将具有最新名称。此外,导入工具将不会迁移已删除的文件。

由于导入工具无法使用您的配置规范,因此它将仅显示分支中更改的文件,因为ClearCase使用惰性分支,这与SVN的分支机制完全不同。

合并跟踪不受迁移工具支持,因为SVN仅从1.5开始支持它。


感谢进一步深入了解潜在的问题。即使存在数据丢失,收益仍然大于损失。 - Scott Markwell

1

又是一次经验:

我们选择了“自定义脚本”而不是Polarion工具。
这样,我们可以:

  • 使用动态视图(更新快)
  • 精确选择要导入的分支
  • 仅导入带有标签的版本(避免导入大量版本,而实际上没有人会利用那么多历史记录)
  • 导入最新标签和LATEST之间的所有版本(针对给定分支)

我们使用动态视图来更改其配置规范,并将所有感兴趣的标签导入到SVN。

注意:我们使用UCM进行导出操作是一个很大的帮助:

  • 分支清晰地被识别出来(在它们所附属的流之后),并且
  • 标签设置在给定组件的所有文件上(在Base ClearCase中,标签可以设置为任意数量的文件)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接