所以,这一次是相反的方式——我需要将一个基于 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)。
关于svn - 从 SVN 迁移到 ClearCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031389/