所以,这一次是相反的方式——我需要将一个基于 SVN 的项目迁移到 ClearCase 中。是否有任何工具可以使该过程更容易一些(而不是将自定义脚本放在一起),有经验的人是否有任何陷阱?
谢谢!
请您参考如下方法:
如前所述here (ibm)在this thread ,没有直接的工具可以将SVN数据导入ClearCase。
这意味着自定义脚本将您的 SVN 工作区设置为相关里程碑,然后是 clearfsimport将那些放入具有“适当”配置规范(即“配置规范”)的 ClearCase View 中。
我的意思是,ClearCase View 将位于“分支目录”中的 Subversion 文件的不同副本导入到相关的 ClearCase 分支中。然后在 ClearCase 导入 View 中以正确的顺序导入“标签”(仍然是 SVN 存储库中的副本),并在这种导入之后立即设置标签。
所以主要的“陷阱”是盲目地导入所有 SVN 结构:这将导致在 ClearCase 中根本不应该出现的实际目录,因为分支和标签是这个工具的一等公民,而不是 '像 SVN 中的廉价副本。
一个好的开始(当然还有适应)的脚本是 svn2git 它会检测 SVN 分支和标记,并尝试将这些“目录”的内容导入 git,(但也可以通过对“clearfsimport”命令的正确系统调用将它们导入 ClearCase)。
由于单个修订的导入可能相当长,一个现实的方法是将脚本限制为仅导入:
- 标签
- 树干的头部
- 已声明分支的 HEAD
当导入分支时,这意味着创建 brtype,然后设置标签(起点),最后更改配置规范以获得以下选择规则:
element * .../svnBranch
element * STARTING_LABEL -mkbranch svnBranch
element /main/0 -mkbranch svnBranch
重要的一点是最终结果没有代表分支和标记的目录存在于 SVN 中。
从那里,您将能够将主目录移动/重命名为您想要的任何结构,例如适合 UCM 组件声明的结构(如果您想使用 UCM)。