从A服务器将visualsvn的内容迁移到B服务器的visualsvn。
1 在B服务器上安装visualsvn
到visualsvn官网https://www.visualsvn.com/下载visualsvn server软件,下载后进行默认安装即可,安装后,系统启动会自动运行visualsvn。
2 把A服务器上的repositories文件夹copy到B服务器的对应文件夹。
把A服务器上的repositories文件夹,拷贝覆盖B服务器上的repositories文件夹,这个仓库文件夹里有svn账户设置,保存的各个文件版本。覆盖后,信息都会迁移到B服务器上。
3 svn客户端端的使用。进行relocate。
Visualsvn服务完成迁移后,需要在客户端进行相应的设置,主要是svn服务的ip地址改变了,在客户端对服务器ip进行重新定位,也就是relocate的一个过程。
4 客户端连接不上svn服务的问题解决
visualsvn默认访问地址https://ip address/svn,一般情况下直接就可以访问,如果不可以,在防火墙中允许3690端口通过。如果还不可以,可以将防火墙关闭,再进行测试,如果还不行,就是某些流氓软件在作祟,我的就是驱动精灵,安装了一次猎豹浏览器,svn就访问不了了,把猎豹浏览器卸载,把驱动精灵卸载,然后就可以了。
5 svn上传错误ClientException的解决
用svn进行上传操作,出现错误。
org.apache.subversion.javahl.ClientException: Can't find a working copy path
svn: Commit failed (details follow):
svn: 'C:workspacexxx argetxxxWEB-INFlibcommons-logging-1.2.jar' is scheduled for addition, but is missing
原因是这些文件被svn提交过,被标记为了“add”状态,等待被加入仓库。此时把这些文件删除了,svn提交的时候还是尝试提交这些文件,虽然他的状态已经是“missing”了。
该问题的解决办法,是将这些文件重新标记。我是用的是eclipse自带的svn插件,在这些missing的文件(目录)上右键点击,team—revert(还原…),这样就是告诉svn,这些文件退回到之前的状态。然后就可以正常提交了。
也可以用svn命令行的方式,svn revert filepath/filename.java --depth infinity,这种方式没有测试。
参考文章:https://blog.csdn.net/ouyangtianhan/article/details/40981209
https://blog.csdn.net/zzfenglin/article/details/51915542