从 SourceSafe 迁移到 ClearCase 的最佳方式是什么?
我们目前有一个丰富的 SourceSafe DB,里面有十年的代码。 我们正在寻找一种简单且稳定的方法来将所有这些导入到新的 Clearcase/Jazz 环境中。
执行此操作的最佳方法是什么?是否有任何工具可以自动执行此操作?
We currently have a fat SourceSafe DB with ten years of code in it. We're looking for an easy and stable way to import all of this in to a new Clearcase/Jazz environment.
What is the best best method of doing this and are there any tools out there to do this automagically?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我会采用最重要的标签并通过“clearfsimport”将它们导入到 ClearCase 中。
I'd take the most significant labels and import them into ClearCase by 'clearfsimport'.
我实际上经历了 VSS 到 Clear Case 的转换。 Rational 有一个我们运行的转换工具。 在我们的 VSS 数据库上花费了很长时间(2-3 天,但见下文),也许 2 年(也许是 3 年,但与您的 10 年相差甚远)。 但据我记忆,它确实有效。 它保留了历史和标签。
速度缓慢的问题可能是由于我们新的源代码控制服务器中的 RAID 控制器不稳定造成的。 导入工作正常,但 Clear Case 会在工作几天后(通常在标签之后)检测到其数据中的损坏。 经过几次重新导入、固件更新和新服务器后,一切都解决了。
我仍然计划给进口一个周末来运行。 尝试找一个可以偶尔远程访问的人来检查进度。
顺便说一句,我还完成了 VSS 到 Perforce 和 TFS 的转换。 一般来说,我建议尝试一下导入工具。 如果它们有效,那就太好了。 如果它们让您感到悲伤,请按照其他人回答的建议进行操作:只需将所有文件添加为新文件即可重新开始。
I actually lived through a VSS to Clear Case conversion. Rational had a conversion tool that we ran. It took FOREVER (2-3 days, but see below) to complete on our VSS database of maybe 2 years (maybe it was 3 years, but not close to your 10 years). But it worked far as I recall. It maintained the history and labels.
The slowness problem was likely due to a flaky RAID controller in our new source control server. The imports worked fine, but Clear Case would detect corruptions in it's data after a few days of working (often after a label). After several re-imports, firmware updates, and a new server it all worked out.
I'd still plan to give the import a weekend to run. Try to get someone who can remote in occasionally to check it's progress.
On a side note, I've also done VSS conversions to Perforce and TFS. In general, I suggest giving the import tools a try. If they work, great. If they give you grief, just do what everyone else answering is suggesting: just start over by adding all the files as new.
来自 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。 他们将拥有最好的最新信息。
From IBM's web site:
http://www-01.ibm.com/support/docview.wss?ratlid=cctocbody&rs=984&uid=swg21222507
and this:
http://www.cmcrossroads.com/component/option,com_fireboard/func,view/id,63051/catid,31/Itemid,593/
However, ChrisF's answer is the same that I would suggest.
The effort involved generally is not worth it given the "benefit" of migrating the history.
I would just take snapshots of the current "tips" of the branches and put those under your new version control system.
I went through this exercise at least 3 times in my career. One conversion to Perforce and two to SVN.
I think I recall that we did some partial history imports, but then just dropped it all as the information we needed was in some other form. The actual repository history of changes just wasn't important enough to go through the pain. We did keep the database around for a year or so in case anyone wanted to look. I don't recall anyone complaining about it.
(I'm also curious why anyone would choose ClearCase over the rest of the ones out there - my guess is for integration with other Rational/IBM stuff)
EDIT
I would ask ClearCase/IBM. They'll have the best up to date information.
理论上,clearexport_ssafe 是正确的工具:
在实践中,我所做的迁移(虽然不是从 VSS)涉及将一些最近的标签导入到 ClearCase 中,然后将 HEAD 导入到 ClearCase 中。
这意味着我用于任何导入(来自任何其他 VCS)的主要工具是 clearfsimport。
您可能会丢失一些元数据(例如版本的作者和标签),但至少它是与源无关的,并且由于您的大量导入只涉及源中的少数标签,因此您很快就会得到一个可操作的VOB。
In theory, clearexport_ssafe is the right tool:
In practice, the migrations I made (not from VSS though) involved the import of a few recent labels, and then the HEAD, into ClearCase.
That means the main tool I use for any import (from any other VCS) is clearfsimport.
You may loose some meta-data (like the author of a version, and labels), but at least it is source-agnostic, and since your massive import only concern an handfull of labels from the source, you end up quickly with an operational VOB.
我知道这并不能直接回答您的问题,但几年前我们从 VSS 迁移到 Perforce 时也遇到过类似的问题。 我们研究了迁移所有文件的历史记录的方法,但我们发现的任何解决方案都有问题,并且需要很长时间才能执行。
最后我们只是决定将当前版本的代码导入 Perforce 作为基线,并将旧历史记录保留在 VSS 中。 早期我们确实偶尔会回顾一下 VSS,但几个月后我们就不再需要了。
如果文件有问题,您只需要最近几次修订就可以看到更改的内容以及原因。 因此,如果文件更改相当频繁,您很快就会在新存储库中建立有用的历史记录。 如果文件没有更改,那么根据定义,它是稳定的,您不需要历史记录。
如果您备份了旧存储库,如果您确实需要挖掘保留历史记录,则可以随时返回到它。
I know this doesn't answer your question directly, but we had a similar problem several years ago when we moved from VSS to Perforce. We looked at the ways in which we could migrate the histories for all the files, but any solution we found had problems and would have taken a long time to execute.
In the end we simply decided to import the current version of the code into Perforce as the baseline and leave the old history in VSS. In the early days we did refer back to VSS occasionally, but after a few months we didn't need to.
If there's a problem with a file you only need the last couple of revisions to be able to see what's changed and why. So if the file changes fairly frequently you'll soon build up a useful history in the new repository. If the file doesn't change then by definition it's stable an you don't need the history.
If you back up the old repository you can always go back to it if you really need to to dig out the hold history.