cvs 中大约有 200 个项目,vss 中至少有 100 个项目。有些是维护模式下的非活动代码。有些是旧版应用程序。有些是不再使用的旧应用程序。大约 10% 正在积极开发中。计划是移动一切来执行我的 2009 年年底。
有人做过这样的大规模迁移吗?
有没有人遇到过从 cvs 迁移到 perforce 的最佳实践?或类似的迁移。有什么需要注意的地方吗?
cvs 中大约有 200 个项目,vss 中至少有 100 个项目。有些是维护模式下的非活动代码。有些是旧版应用程序。有些是不再使用的旧应用程序。大约 10% 正在积极开发中。计划是移动一切来执行我的 2009 年年底。
有人做过这样的大规模迁移吗?
有没有人遇到过从 cvs 迁移到 perforce 的最佳实践?或类似的迁移。有什么需要注意的地方吗?
在 VSS 方面,有可用于帮助迁移的转换工具。他们主要可以维护版本历史(自述文件和文档中解释了一些警告)。我已经使用 VSS to perforce 工具将 50 多个 VSS 项目迁移到 perforce 中。从 VSS 中获取数据可能有点挑剔,而且速度不是特别快,但它确实有效。如果您可以直接访问 VSS 存储库的磁盘(即不通过网络共享),则转换速度会快得多。您可以在此处找到有关脚本的信息。
CVS 有一个类似的页面可以在此处执行转换,尽管我对此没有直接经验。这些链接是开始的好地方。您还可以在此处的 Perforce 知识库中搜索 Perforce 邮件列表。我很确定您可能会在邮件列表档案中找到一些转换信息。
首先迁移您的旧项目。您可以确保您的流程有效。当我们将活动代码迁移到 Perforce 时,我花了一个周末基本上取消了对服务器的访问,然后将代码移到了 Perforce。老实说,这是一次非常容易的迁移,当人们周一回来时,他们已经准备好出发了。在开始迁移后,您可能会考虑为您的员工准备 Perforce 备忘单。
最大的问题实际上可能是让您的员工准备好使用 Perforce。如果我再做一次,我会先迁移我们较小的活动项目,并让少数人同时使用 Perforce。事实上,我必须在迁移后的第一天培训 120 多人,这有点多。此外,请确保您在第一天也没有 100 多人访问您的服务器以进行新的同步。在最初的几天里,我们多次关闭我们的服务器。我们使用了我不推荐的 Windows 32 位服务器。我们现在有一个 Windows 64 位服务器,它更加强大。如果可以的话,我实际上会使用 Linux 作为你的 perforce 服务器的操作系统。同样,Perforce 网站上应该有关于性能的良好信息。
我不必做这种规模的事情,但我有一些想法。首先,从一个小的、不重要的项目开始,然后迁移它。这将使您了解迁移其余项目将花费多少麻烦。之后,您应该立即选择一个中等规模的项目,因为迁移较大的项目(比如分支)可能会出现问题,而这在小型项目中可能并不明显。
确保您花一点时间了解将 cvs 项目转换为 vss 是多么容易,反之亦然。如果从 vss 转换为 perforce 真的很痛苦,您可以将 vss 转换为 cvs,然后再转换为 perforce。不要沉迷其中,但它可以让你摆脱困境。我认为这里的关键是增量。
备份很好。时期。
考虑一个截止日期,任何不活跃的项目,比那个更早的项目都应该被封存。查看最终版本并将其存储在 Perforce 中。你真的需要 15 岁的 Visual Basic 代码吗?
无论您做什么,都要在某个地方将旧存储库保持为只读模式。
请原谅我用问题回答问题,但Perforce不为此提供工具吗?或者,至少,文档?我会殴打我的 Perforce 销售人员...
考虑不要迁移死的和不活动的项目。只需将他们的存储库置于只读模式即可。如果需要,数据仍然可用,您可以节省迁移它们的时间。只需迁移正在使用的 10%。彻底记录这个过程。
如果某个未迁移的项目在未来某个时间复活,您可以使用您的文档作为参考轻松迁移它。
我们使用我们编写的工具迁移了我们的 svn 存储库,并且只是对我们的 starteam 项目进行了头部修订。
注意单文件签入 (CVS) 和多文件变更集 (Perforce) 之间的差异。
注意分支是单独的空间 (CVS) 与文件路径空间中的分支 (Perforce)。