一、服务器端

将一台服务器上已有的SVN仓库数据整体迁移到另外一台机器上,要保留所有的版本号和版本信息,需要以下过程来解决

在Repositories文件上,shift+右键,在此处打开命令窗口

No.1 将准备要迁移的仓库导出 命令: svnadmin dump 仓库名 > svn_dump

No.2 在新的服务器上创建心的仓库 命令: svnadmin create SVNROOT

No.3 导入刚导出的文件svn_dump 命令: svnadmin load SVNROOT < svn_dump

 

// 注意,以上操作会导致所有的配置丢失,比如密码、权限控制等,只要将原有的conf文件覆盖新的就可以了

 

在整个操作的过程中要注意仓储路径问题,为避免出错,可以使用绝对路径来表示以上内容,仅以No.3 做实例解析

svnadmin load D:\SVNROOT < D:\svn_dump   解析:新的仓储SVNROOT就创建在D盘根目录下,而导出的文件也已将放在了本地的D盘根目录下

 

网上有提供一种直接将原仓库目录copy到另一台机器上,然后修改apache 的svn路径指向新的地址的做法,我也尝试过一次,发现有丢失信息,具体不详,所以不推荐

还有一个问题,我查看我的原始准备导出的仓库文件大小只有2.2G左右,而使用svnadmin 命令导出后的文件却有5G之多,中间的差别我也不甚了解,所以推荐使用svn的命令导入仓库

二、客户端

选中原有的地址,选择【重新定位/Relocate】

tortoisesvn的数据可以放在远程服务器上吗_5g

按照步骤进行即可

三、修改svn用户:通过删除SVN客户端的账号配置文件 

1、查看你的Eclipse中使用的是什么SVN Interface(中文:svn接口)windows > preference > Team > SVN 

在右边的设置面板中可以看到SVN Interface或中文的svn接口一栏,Client的选项框中显示的就是你当前用的svn接口 

  

tortoisesvn的数据可以放在远程服务器上吗_svn_02

2、如果是用的JavaHL, 找到以下目录  C:\Documents and Settings\用户名\Application Data\Subversion\应看到有一个auth目录,删除auth目录中的相关文件。 

    注意:Application Data一般隐藏了,所以之前你要显示所有所有文件和文件夹,如果实在找不到,就搜索文件夹Subversion 

  

tortoisesvn的数据可以放在远程服务器上吗_开发工具_03

 

  3)如果你用的SVNKit, 找到以下目录eclipse安装目录\configuration\org.eclipse.core.runtime删除.keyring文件. 

  4)使用SVN更新或提交,使得客户端与服务端进行通讯,这样就会SVN客户端就要求我们输入新的用户名密码,输入我们的用户名密码 
    就可以替换掉旧的用户名密码。