http://www.clearvision-cm.com/clearcase-subversion-migration.html
希望这能帮到任何和我一样来到这个页面的谷歌用户 :-)我没有使用过它,但我听说SVNImporter可以导入您的ClearCase VOBS,包括历史记录。
听起来你的用户真正想要的是从CC中一次性导出几个版本,以基本上“折叠”现有的历史记录。例如,假设您有一个具有数千个修订和数百个标签的大型VOB,并且您希望在新的Subversion存储库中仅有最后5个主要版本作为您的历史记录。您可以从CC中导出最早的所需版本,导入到SVN并创建工作副本。然后,您将从CC中导出一些稍后的版本,并将其复制到您的工作副本中并进行更新。重复此操作,直到您获得CC的最新版本。
您从CC获取的版本由视图配置规范控制。要仅获取与特定标签相关联的文件(希望他们有标签...),请更改配置规范为:
element /vob/MyPath/… DESIRED_LABEL
要获取与标签相关联的版本以及未与该标签关联的任何内容的当前版本,您可以使用以下方法:
element /vob/MyPath/… DESIRED_LABEL
element /vobs/MyPath/… /main/LATEST
更多信息请参见IBM/Rational config_spec文档。
我自己进行了一些 clearcase 迁移,以下是我的想法:
不要使用 Gary Ray 建议的导入工具,因为它还不够成熟。它缺少很多你想要的功能,例如目录版本控制、旧文件名的正确标签、已删除文件的历史记录等等。这个导入工具仅适用于小规模迁移,其中你确实需要你的文件内容并且可以忽略总体架构更改。
创建一个您想要导出的标签列表
编写一个脚本来为您的标签列表中的每个标签生成 clearcase 配置规范
备选方案:如果您在步骤 3 中无法成功,则创建每个标签的配置规范列表
将您的 clearcase 视图打包成 tar 和 zip 文件,并在 SVN 机器上收集它
将每个 zip 文件提取到一个文件夹中
使用 svn_load_dirs.pl
导入到 SVN 中,您可能还想在 SVN 中创建一个标签
ct lsbl -s component:myComponentToExport@\myPVob
将会给你导出基线列表。
ct rebase -bas myIntStream@\myPVob aBaseline
在动态视图中将该视图设置为您的导出源。
(对于每个基线,重复此操作,从要导入的最旧版本到最新版本)
但是,如果您使用带有基本ClearCase标签(而不是UCM)的数据,请注意以下问题:
可以在任何文件上放置基本ClearCase标签。像Gary建议的那样的规则。
element /vob/MyPath/... DESIRED_LABEL
可能会选择0个文件,仅仅因为根目录 'MyPath
' 没有标记为 'DESIRED_LABEL
'!
此外,没有“时间线”修订的概念(如Subversion中的修订)。
如果标签证明不太可靠(因为未放置在所有文件上),解决方案可以是将标签日期与基于时间的规则相结合。
element /vob/MyPath/... DESIRED_LABEL
element /vob/MyPath/... .../myBranch/LATEST -time (date_Of_The_Label_Put)
date_Of_The_Label_Put
' 是至少一个元素上标签应用的日期。