从环绕SCM导入Git?

时间:2009-08-20 04:04:25

标签: git surroundscm

我公司在Surround SCM中拥有庞大的代码库,几年前从SourceSafe迁移过来。我们正在寻求更适合我们需求的东西,但是从Surround获取我们的历史证明是一项挑战。

谷歌搜索git导入器,我找到了a good tutorial on custom importers。似乎也支持svn,perforce和许多其他人,但没有Surround。

只拍快照并开始新的git repo会更好吗?或者是否值得编写脚本以获得15年以上的代码历史记录?

3 个答案:

答案 0 :(得分:6)

在这个确切的场景中找到自己,我自己写了这样一个自定义导入器:export-surround-to-git

此方法能够保留完整的历史记录,时间戳,作者,评论,分支,快照等。

此脚本已在有限数量的方案中进行了测试,并且到目前为止已经证明是成功的。虽然仍在进行中,但这可能是您正在寻找的。它是开源的 - 所以请随意自行改进脚本!

答案 1 :(得分:4)

在这种情况下,可以编写脚本,但不能编写所有历史记录。

我建议只导入:

  • 主要标签(对于任何超过一年的事情,或任何你觉得舒服的时期,你都不需要完整的检查,因为它太旧了)
  • 过去几年的所有标签(主要和未成年人)。

但是,迁移到Git还需要一项工作,以便识别集中式Surround存储库中的模块或应用程序 试图将所有这些数据导入一个 Git存储库是一个错误,除非它是一个巨大的系统,无法彼此独立地开发(如Linux内核)。

请参阅:

答案 2 :(得分:4)

Surround SCM有一个SDK。我用它来将CVS的存储库带到Surround。多年后,一个团队正在考虑迁移到SVN并询问我是否可以迁移存储库。我提出了一个解决方案,其中包括遍历Surround存储库并创建一个中间内存数据库,然后对其进行处理。为确保日期正确,我会重置计算机上的时钟。在我完全实施解决方案之前,我们决定为该团队保留一份浮动许可证,以便他们在需要查看历史记录并计划重新考虑整个项目组织时。 (作为一个FYI,两年后,该团队仍在使用Surround。)

相关问题