我的任务是查明我们当前的Linux SVN服务器是否可以迁移到MS Windows。
我已找到并试用了一个名为VisualSVN Server的程序,它似乎可以完成我们需要的所有工作,但是如果可以将当前的Linux存储库转换为在Windows服务器上运行,我无能为力。
我是整个SVN申请的新手,所以请用你的答案轻轻对待我:)。
谢谢,
下进行。
答案 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://
中不存在您必须在不同的驱动器中进行结帐