公司需要将一个SVN远程服务器的全部已有项目迁移到一台新服务器的SVN中,其中需要包含全部的提交日志,目前此工作已全部迁移完毕,特此记录一下操作步骤
环境描述:
1. 要迁移的远程SVN的 Windows服务器
2. 迁移目的SVN的Windows服务器
操作流程:
1. 使用SVN备份功能导出原先的SVN仓库文件
2. 将SVN文件复制到新的服务器磁盘中
3. 在新的服务器创建新SVN仓库
4. 加载导出备份文件即可
建议后面的路径中间均不要有空格,不然使用一些命令时容易有问题
因为导出的SVN 历史 文件可能很大,推荐使用U盘复制和备份后操作
操作步骤:
1. 用windows的cmd命令框CD进入到VisualSVN Server的安装目录下的bin目录,使用命令生成svn仓库的备份
此命令:第一个路径是svn仓库路径,第二个是备份的路径。
svnadmin dump D:svnRepositoriesdxd >D:SVNBackupdxdBackup20220319.dump
2. 复制导出的dump到新的SVN服务器,这个文件建议备份一下,算是留档了哈,在新的服务器中创建一个新的SVN仓库,名字可以与原来的不同不耽误备份导入
3. 加载这个dump备份文件。同样在新服务器的VisualSVN Server的安装目录下的bin目录,使用CMD命令加载新的SVN仓库中。
svnadmin load D:svnRepositoriesdxd <D:BackupdxdBackup20220319.dump
SVN的备份至少有两种方式:1、利用svnsync,把要备份的版本库同步到另一台SVN服务器上
2、利用svn hotcopy,把要备份的版本库备份到同一台服务器的其他文件夹中
条件许可的话,建议使用第一种方式,毕竟安全系数更高些,不怕服务器硬件故障。
使用第一种方式的话,按如下步骤:
1、在备份用SVN服务器上,建立一个新的空版本库。
2、在备份用空版本库的hooks文件夹中新建一个文本文件,其中写入一行“exit 0”,重命名为pre-revprop-change.bat。
3、在备份服务器上命令行执行:
svnsync init 备份版本库访问url 源版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
4、在源服务器上相应版本库的hooks文件夹中增加一个post-commit.bat(如果是windows操作系统的话),里面写上两行内容:
svnsync sync 备份版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
svnsync copy-revprops 备份版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
如果以上操作都正常无误的话,这时就设置成功了,每次发生commit操作,都会自动将源版本库的内容同步到备份版本库中。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)