我正在寻找从 ClearCase 迁移到 SVN 的工具。

理想情况下希望获得所有历史信息,或者尽可能多的历史信息。

增量合并将非常有益,但不是必需的。

有帮助吗?

解决方案

看起来最好的。Polarion的业务是SVN,所以我猜他们有既得利益 让尽可能多的人使用它...

哦,事先备份所有数据,首先在测试存储库上执行此操作,等等。

其他提示

我遇到了和Peter同样的问题:Polarion 脚本无法继续处理大型 CleraCase VOB,并且始终会出现 Java 堆大小内存不足错误。

我还遇到了另一个导致导入后数据损坏的严重问题。

Polarion 脚本是这样工作的:

  1. 使用cleartool命令访问ClearCase数据
  2. 使用自己的算法将这些数据转储到 SVN DUMP 平面文件中
  3. 使用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 堆空间也不够用。所以这对我来说没有好处。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top