English 中文(简体)
从SVN迁移到Perforce - 提示?经验?
原标题:
  • 时间:2008-12-28 02:20:51
  •  标签:

我们有一个相当大的SVN代码库,我们希望迁移到Perforce。我们非常希望保留约20,000个版本、分支等内容,但在一些初始测试中,Perforce提供的svn2p4脚本无法完全复制整个结构。

人们使用这个工具有成功吗?还是有其他我在谷歌搜索中没有找到的工具?欢迎分享最佳实践和技巧。

最佳回答

Vitalii Pokrovskii和Mark Fridrich创建了svn2p4,这是一个Perl脚本,可以同步和重放每个更改集到Perforce中。

你可以在Perforce wiki上找到它。他们也在2007年的Perforce用户会议上做了关于此的演讲。

2012年更新:另一种解决方案是使用p4convert-svn。详细信息请参见此处:perforce站点上的p4convert-svn

问题回答

正如fuzzymonk提到的,似乎唯一的真正选择是使用perl脚本svn2p4。我使用过几次,虽然在处理许多分支时比较缓慢,但效果良好。

这个脚本非常有用的一点是能够最大程度地减少停机时间,无论服务器之间的地理距离有多远。这是因为svn2p4是完全可恢复的。

  • First, you take a backup of your svn server
  • While leaving the live server on, you start your import from svn to perforce using the backup.
  • When that import has finished, you can take down your live server and finish the import by pointing svn2p4 to the live server instead of the backup.

这意味着您只需要关闭服务器,以备份上次备份后发生的几个修订版本。如果您的迁移跨越较大的地理距离(svn 和 perforce 服务器之间相隔较远),这尤其有帮助,因为您的大部分导入是在本地完成的,可能是在同一台机器上,而不是通过互联网。

我们目前正在进行一次大规模的导入(20K修订,18GB svn根),我很想知道您在初始测试中遇到了哪些问题。

This issue is probably totally dead, but just FYI, there s a lot of useful information in Scott Bilas s blog post here: http://scottbilas.com/blog/subversion-to-perforce-post-mortem/

他提到了svn2p4的一些具体问题,以及如何解决它们(如果可能的话)。

我之前用了几年Subversion, 现在才开始使用Perforce,所以我还处于学习曲线的陡峭部分。

我的最大建议是不要使用它。从可用性角度来看,Perforce比SVN要糟糕得多。我在工作中被迫使用它,它比基于文件/Windows资源管理器的SVN界面不直观得多。设置工作空间很不直观,而且很难删除。它有时会混淆不清,即使文件已被更改,也不会提交。默认情况下,所有内容都是只读的。它提交已检出但未更改的文件。我可以继续说下去...





相关问题
热门标签