如何迁移到新版本控制系统

时间:2009-10-30 18:59:34

标签: version-control

我的雇主已经责成我成为我们的新版本控制管理员。我们目前正在为两个不同的代码库使用两种不同的版本控制系统。两个代码库中的代码/功能在某些区域重叠。我们将把两个代码库移动到新的版本控制系统。

我正在征求关于如何做到这一点的想法。我想我们可以将新的版本控制中的两个代码库添加为新版本层次结构中的兄弟姐妹,并通过逐步提升到层次结构中的第三个兄弟来逐步删除冗余,最终完全脱离第三个兄弟。但是,这只是一个30,000英尺的问题视图,而不是解决方案。任何想法,陷阱,程序,以避免灾难? 感谢

3 个答案:

答案 0 :(得分:2)

Git可以通过svn,git和cvs客户端都可以连接的方式进行设置。这样你就可以转移到一个中央的Git仓库,但是仍然习惯于svn的人可以继续使用它。

听起来,在您的特定情况下,您需要组合两个代码库,您应该创建三个存储库并开始将前两个存储库合并到第三个存储库中。

答案 1 :(得分:1)

我的建议是尝试一些“测试”迁移。了解它的用法并根据需要调整脚本。

然后,一旦你的设置,你可以执行它真实和完成。存档您的旧回购。

另一个你可能会找到灵感的地方是OpenOffice.org。他们正在从SVN to Mercurial开始。他们可能已经发布了有关其迁移工作的信息。

答案 2 :(得分:0)

需要考虑的问题:

  • 您将迁移多少历史记录?
  • 您需要多长时间才能继续使用旧系统进行补丁工作等?
  • 您需要多久保留旧系统才能访问历史信息?
  • 新目标VCS是否从两个旧VCS中的任何一个提供自动或准自动迁移迁移方法?
  • 您如何将两个旧VCS中的分支系统与新VCS中使用的模型进行协调?
  • 标记是否正常工作?
  • 可以转移标签(如果您没有导入太多历史记录,这无关紧要)?
  • 哪些访问控制适用于必须在新版本中复制的旧VCS?
  • 要对新VCS应用哪些访问控制?

这至少是一个起点 - 我毫无疑问忘记了许多重要的话题。