从SVN迁移到Perforce - 提示?经验?

时间:2008-12-28 02:20:52

标签: svn version-control perforce

我们有一个相当大的SVN存储库,我们希望将其迁移到perforce。我们非常希望保留~20k版本,分支等,但在一些初始测试中,perforce提供的svn2p4脚本无法复制整个结构。

人们是否使用此工具取得了成功,还是有其他人在我的Google搜索没有出现?欢迎提供最佳实践和技巧。

4 个答案:

答案 0 :(得分:3)

Vitalii Pokrovskii和Mark Fridrich创建了svn2p4,这是一个perl脚本,可以“同步并重放”以将每个更改集导入到perforce中。

您可以在perforce wiki找到它。他们还在2007 Perforce User's Conference上发表了关于它的演讲。

2012年更新:另一种解决方案是使用p4convert-svn。详情请见p4convert-svn at perforce site

答案 1 :(得分:2)

正如fuzzymonk所提到的,似乎唯一真正的选择是使用perl脚本svn2p4。我已经使用了几次这种方法虽然很慢,但特别是有许多分支机构,但效果很好。

使用此脚本非常有用的一点是,无论服务器之间的地理距离如何,都可以将停机时间降至最低。这是可能的,因为svn2p4是完全可恢复的。

  • 首先,备份svn服务器
  • 在启用实时服务器的同时,使用备份开始从svn导入到perforce。
  • 当导入完成后,您可以关闭实时服务器并通过将svn2p4指向实时服务器而不是备份来完成导入。

这意味着您只需关闭服务器以进行自上次备份以来发生的少量修订。如果您的迁移距离很远(svn和perforce服务器相距很远),这尤其有用,因为导入的大部分是在本地完成的,可能在同一台机器上完成,而不是通过互联网完成。

我们目前处于大量导入的过程中(20K修订版,18GB svn root),我很好奇你在初始测试中遇到了什么样的问题。

答案 2 :(得分:1)

这个问题可能已经完全死了,但仅供参考,Scott Bilas的博客文章中有很多有用的信息: http://scottbilas.com/blog/subversion-to-perforce-post-mortem/

他提到了svn2p4的一些具体问题以及如何解决这些问题(当这种解决方法可行时。)

我刚刚开始使用Perforce使用Subversion,因此我处于学习曲线的陡峭部分。

答案 3 :(得分:-2)

我最大的提示是不要这样做。从可用性的角度来看,perforce比svn更糟糕。我不得不在工作中使用它,它比基于文件的/ windows explorer svn界面更不直观。设置工作区是不直观的,很难删除。它偶尔会变得混乱,即使它被改变也不会提交。默认情况下,一切都是只读的。它提交已签出但未更改的文件。我可以继续......