我们目前有一个胖的SourceSafe数据库,里面有十年的代码。我们正在寻找一种简单而稳定的方法将所有这些导入到新的Clearcase / Jazz环境中。
这样做的最佳方法是什么?是否有任何工具可以自动执行此操作?
答案 0 :(得分:4)
我知道这并没有直接回答你的问题,但几年前当我们从VSS转到Perforce时,我们遇到了类似的问题。我们研究了如何迁移所有文件的历史记录,但我们发现的任何解决方案都存在问题,并且需要很长时间才能执行。
最后,我们决定将当前版本的代码导入Perforce作为基线,并将旧历史保留在VSS中。在早期我们偶尔会参考VSS,但几个月之后我们就不需要了。
如果文件出现问题,您只需要进行最后几次修订即可查看更改内容以及原因。因此,如果文件相当频繁地更改,您很快就会在新存储库中构建有用的历史记录。如果文件没有改变,那么根据定义,它是稳定的,你不需要历史记录。
如果您备份旧存储库,如果您确实需要挖掘保留历史记录,则可以随时返回该存储库。
答案 1 :(得分:3)
理论上,clearexport_ssafe是正确的工具:
clearexport_ssafe
实用程序读取Microsoft®VisualSourceSafe当前项目中的文件和子项目,并生成一个数据文件,clearimport
用于创建等效的VOB元素。默认情况下
clearexport_ssafe
导出VisualSourceSafe
当前项目中的文件和子项目,但它不会导出子项目中包含的任何文件。要导出所有子项目中的所有文件,请指定-r选项。
实际上,我所做的迁移(不是来自VSS)涉及将一些最近的标签,然后是HEAD导入ClearCase。
这意味着我用于任何导入(来自任何其他VCS)的主要工具是 clearfsimport 。
您可能会丢失一些元数据(如版本的作者和标签),但至少它与源无关,并且由于您的大量导入仅涉及来自源的一小部分标签,因此您最终会快速运行VOB。
答案 2 :(得分:2)
来自IBM的网站:
http://www-01.ibm.com/support/docview.wss?ratlid=cctocbody&rs=984&uid=swg21222507
和此:
http://www.cmcrossroads.com/component/option,com_fireboard/func,view/id,63051/catid,31/Itemid,593/
然而,ChrisF的回答与我建议的相同。
考虑到迁移历史的“好处”,所涉及的努力通常是不值得的。
我只是拍摄分支机构当前“提示”的快照,并将它们放在新版本控制系统下。
在我的职业生涯中,我至少进行了3次这项运动。一次转换为Perforce,两次转换为SVN。
我想我记得我们做了一些部分历史记录导入,但随后我们只需将其全部删除,因为我们需要的信息是以其他形式出现的。实际的存储库更改历史记录并不足以解决这些问题。我们确实将数据库保留了一年左右,以防任何人想要查看。我不记得有人在抱怨它。
(我也很好奇为什么有人会选择ClearCase而不是其他那些 - 我的猜测是与其他Rational / IBM的东西集成)
修改
我会问ClearCase / IBM。他们将获得最新的信息。
答案 3 :(得分:1)
我实际上经历了VSS到Clear Case的转换。 Rational有一个我们运行的转换工具。我们的VSS数据库可能 2年(可能是3年,但不接近你的10年)需要FOREVER(2-3天,但见下文)。但是我记得很有效。它保留了历史和标签。
缓慢的问题可能是由于我们的新源控制服务器中存在一个片状RAID控制器。导入工作正常,但Clear Case会在工作几天后(通常在标签之后)检测到数据中的损坏。经过几次重新导入,固件更新和新服务器之后,这一切都已经解决了。
我仍打算让导入周末运行。尝试让偶尔远程的人检查它的进展情况。
另外,我还对Perforce和TFS进行了VSS转换。一般来说,我建议尝试使用导入工具。如果他们工作,那很好。如果他们给你带来悲伤,那就做其他人回答的建议吧:重新开始将所有文件添加为新文件。
答案 4 :(得分:1)
我会选择最重要的标签并通过'clearfsimport'将它们导入ClearCase。