Clearcase to Gitclearcase 仓库导到 Git 的工具
这是一个 C# 开发的工具,用于从 clearcase 中提取相关元数据(并保存该表示形式),然后构建改进记录集,并将其输出到 git-fast-import。
实际使用的样例请看scripts
目录
一般原则 :
- 尽可能使用导出
clearexport_ccase
(由于的内存限制,分几部分clearexport_ccase
) - 获取所有元素(文件和目录)
- (可选)编辑这些列表以排除不感兴趣的列表
- 使用
GitImporter
(调用cleartool
)创建(并保存)Vob的表示 - 使用
GitImporter
和导入git fast-import
,cleartool
然后仅用于获取文件的内容
FOR /D %D in (*) DO clearexport_ccase -r -o %D.export %D
cleartool find -all -type d -print >directories.lst
cleartool find -all -type f -print >files.lst
GitImporter -S:vobDB.bin -E:files.lst -D:directories.lst -G -C:M:\MyView\MyVob *.export
GitImporter -L:vobDB.bin -C:M:\MyView\MyVob | git fast-import
第三方
支持使用特定配置文件将第三方作为git子模块处理。
假设有一个特殊的文件存储了clearcase config-spec,其中包含一些目录的标签规则。然后,对于此文件的每个新版本,如果找到目录和标签的匹配项,则将引用子模块的相应提交。
就第三方而言,我改为使用基于NuGet的解决方案,但旧的提交仍引用子模块。
评论