并非所有从CVS迁移到ClearCase时创建的分支

并非所有从CVS迁移到ClearCase时创建的分支,clearcase,cvs,migrate,Clearcase,Cvs,Migrate,我们正在将我们的代码从CVS迁移到ClearCase,以便按照这里提供的指南将我们的历史整合到一个vcs系统中 乍一看,一切都很好。所有文件的所有版本似乎都已迁移,来自CVS的所有分支和标记都存在于ClearCase中 但是,并非所有文件都正确创建了分支(在我看来)。示例file.bat 有以下历史(希望ascii图纸可以理解) 现在,在ClearCase中创建并正确应用了SOME_标记和SOME_OTHER_标记。分支_2是从CVS版本1.4创建的,该分支上的版本0与CVS版本1.4具有相同的

我们正在将我们的代码从CVS迁移到ClearCase,以便按照这里提供的指南将我们的历史整合到一个vcs系统中

乍一看,一切都很好。所有文件的所有版本似乎都已迁移,来自CVS的所有分支和标记都存在于ClearCase中

但是,并非所有文件都正确创建了分支(在我看来)。示例file.bat 有以下历史(希望ascii图纸可以理解)

现在,在ClearCase中创建并正确应用了SOME_标记和SOME_OTHER_标记。分支_2是从CVS版本1.4创建的,该分支上的版本0与CVS版本1.4具有相同的创建日期/时间。这很好。版本1.4.2.1和1.4.2.2分别在分支_2上创建为版本1和版本2

问题是未创建的分支_1。作为最低要求,我希望分支上可能只有版本0

我可以从clearexport_cvs的输出中看出问题源于此。clearexport_cvs命令的输出中不包括分支_1标记,只包括一些其他_标记

如何纠正这一点,有什么好主意吗?我在clearexport_cvs命令上找不到任何选项或开关,这似乎对我有帮助

为了能够获得旧版本的正确源代码,我们必须保留CVS的原始时间戳。我们使用了Parabuild,因此每个构建中对CVS的唯一引用类似于“CVS更新-P-A-d-d”2012-12-20 13:31:42 GMT”-r BRANCH_1 问候
Peter

如果clearexport\u cvs不能完全工作,并且既然存在,那么最好尝试增量修复导入,并在专用ClearCase分支上执行


这将允许您使用CVS repo中的一些选定修订“修补”历史导入,但这不是一个自动过程(除非您稍微编写了CVS工作区的更新脚本)。

我不确定这在我的情况下是否可行。分支确实存在于某些其他文件中,即创建分支后修改的文件。假设分支_1的某些文件的结构与上面的示例所示的分支_2的结构相似。@PeterKristiansen
clearfsimport
只导入它检测到的增量。只要您能够在给定的
branch1
状态(从那里开始
branch2
)上放置标签,您就可以手动执行一些导入。我听说了,但问题是不会对分支进行任何更改,因为分支1上的相关文件的CVS中没有任何更改。基本上,对于这个特定的文件,我只需要分支_1上的版本0。另一件我忘记提及的事情(现在将添加它)是,我需要保留文件在CVS中的原始时间戳。@PeterKristiansen clearfsimport仍将处理该情况。但如果没有,那么除了调试
clearexport\u cvs
,恐怕就没有什么解决方案了……我会尽量弄清楚为什么我认为clearfsimport不起作用。我们在主分支上已经有了版本1.3。我希望从版本3中创建一个分支_1,其中至少有一个版本0,它的创建时间(和内容)与CVS中的版本1.3相同。考虑到我希望以相同的内容结束clearfsimport,因为它检测到Delta,所以不会捕获它。据我所知。
1.1
1.2 --- SOME_TAG
1.3 --- SOME_OTHER_TAG
   |---- BRANCH_1
1.4 --- BRANCH_2
       |- 1.4.2.1
       |- 1.4.2.2