从Source Depot迁移到SVN

时间:2009-01-29 11:40:26

标签: svn version-control migration source-depot

自从我在微软工作以来,我有一个用于版本控制的本地Source Depot存储库。最近,我一直想要迁移到SVN并随身携带更改历史记录,但似乎没有可以迁移到SVN的脚本。

由于有很多学生在这里闲逛,我想我会在这里试试。我基本上都在寻找一个简单的迁移脚本来处理我的事情。

除此之外,欢迎任何其他建议让我继续前进。仅供参考,Source Depot以Perforce为基础,我尝试了perforce迁移tools但没有任何成功。

3 个答案:

答案 0 :(得分:3)

Source Depot的命令行是否与Perforce类似?

大约一年前,我使用Python脚本在几步内将我的家庭SCC软件仓库从Perforce迁移到了SVN。虽然我不再使用脚本,但它很简单并且在一个下午写完。

基本上,脚本从第一个perforce更改列表开始,并按顺序遍历它们。它将同步到每个更改列表并将文件拆分为编辑/添加/分支列表。然后将这些文件复制到SVN路径并使用适当的命令更新/添加/分支。然后,他们将使用原始更改列表中的注释进行提交。

这为我提供了Perforce depot的完整SVN镜像,其中保留了所有历史记录/评论和分支信息。我只有一个用户(我!),但支持多个用户并不困难。

我甚至玩弄了一个让脚本改变系统时钟的想法,这样历史日期就会正确,但似乎不值得。对我来说,历史和分支/标签信息是最重要的。

答案 1 :(得分:2)

我的公司有一个承包商访问我们的一段时间的信息会议,关于将所有源和版本历史从MKS迁移到SVN。事实证明,通过迁移过程保持版本历史记录完整是非常困难的,因为它们都有自己的方法来存储该历史记录。我从那次访问中得到的结论是,有一些昂贵的第三方工具可以进行迁移,但很难找到并且真的不是那么好。

我们最终决定,对于大多数项目,我们会咬紧牙关,只使用现有源创建新的源代码控制项目,丢失新软件的版本历史记录,并保留旧软件备份到磁盘上。

当然,我们的情况略有不同,因为我们的基本版本历史不是相同的格式(我的是MKS,你的是SD)。但是,我不相信找到转换它的魔法脚本会很容易。我可能是错的,但这是我从那次会议中得到的,无论如何。

答案 2 :(得分:1)

也许我误解了你的问题,但是什么阻止你从Source Depot完整检查代码,然后将其检入Subversion?

除非您还要导入已设置的任何用户/组控件,否则签出/签入将无法完全实现。