将Linux SVN Repos转换为Windows SVN Repos

时间:2011-01-11 11:16:02

标签: linux svn version-control visualsvn

我的任务是查明我们当前的Linux SVN服务器是否可以迁移到MS Windows。

我已找到并试用了一个名为VisualSVN Server的程序,它似乎可以完成我们需要的所有工作,但是如果可以将当前的Linux存储库转换为在Windows服务器上运行,我无能为力。

我是整个SVN申请的新手,所以请用你的答案轻轻对待我:)。

谢谢,

下进行。

5 个答案:

答案 0 :(得分:10)

我已经成功地在Windows平台上成功使用了在Linux中创建的存储库,反之亦然。

从平台的角度来看,没有不兼容性。

你仍然应该注意每个平台上使用的Subversion软件版本,因为Subversion存储库格式随着时间的推移而发展。

避免任何陷阱的最佳方法是彻底转储您的存储库:

$ svnadmin dump /var/svn/repos > full.dump

并将其加载到目标服务器上:

C:\svn> svnadmin load newrepos < full.dump

有关详细信息,请参阅http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

答案 1 :(得分:1)

您可以在不做任何事情的情况下迁移FSFS存储库(即使BDB只需要一点点调整,只要CPU拱没有改变),但如上所述,“安全方式”是转储和加载。

之前我已经完成了linux-&gt; windows迁移,你应该清楚地知道如果使用(默认)FSFS,你的性能会受到严重影响。当涉及到许多文件/小文件时,NTFS只是一个可怕的文件系统。我观察过像'svn ls'这样的东西,看到性能下降了一个数量级。最好先测试一下,看看你是否仍然开心。

答案 2 :(得分:1)

为了将它加载到Windows机器上......你需要 1.打开VisualSVN服务器 2.使用您想要的(reponame)创建新的存储库 3.打开cmd 4.navigate到c:\ program files \ VisualSVN Server \ bin&gt; 5.type

svnadmin.exe load "c:\[path where you have assigned for your repositories]\(reponame)" < "c:\[path where the dump file is]\(reponame).dump

例如。如果我从linux机器上复制了我的“c:\ dump_files”(myrepo.dump),并为存储库位置分配了“c:\ new_svn”,那么该命令应该在cmd中

c:\program files\VisualSVN Server\bin>svnadmin load "c:\new_svn\myrepo_new" < "c:\dump_files\myrepo.dump"

但首先要确保已在visualSVN服务器管理器中创建了myrepo_new

答案 3 :(得分:0)

从技术上讲,您应该能够将每个存储库及其基础文件结构从Linux服务器复制到Windows服务器,并且只要两个服务器使用相同的主要版本的Subversion(即1.6.x,或者1.5.x版)。

但是,最好的建议是遵循SirDarius的回答并将每个回购转储到Linux服务器上并在Windows上重新加载。

答案 4 :(得分:0)

您必须确保防火墙已关闭或防火墙允许svn的流量。如果您仍然无法访问在Windows上的Linux中开发的svn服务器,那么您确保c://中不存在您必须在不同的驱动器中进行结帐