VisualSVN 项目备份及迁移的两种方式

时间:2024-03-26 18:06:29

最近在远程服务器192.168.2.55上搭建了个VisualSVN。

  老大的要求:希望将其他服务器上的svn项目保留版本变更,直接迁移到192.168.2.55上。

  于是研究了下VisualSVN的两种迁移方式,并均实验可行。

  本人使用的VisualSVN版本:VisualSVN-Server-2.7.6

  本人的本地机器系统:win7 32bit

  远程服务器系统:windows server2008 R2 64bit

  一、使用VisualSVN自带的命令行操作工具:svnadmin的dump和load命令。

  VisualSVN的bin目录:D:\Program Files\VisualSVN Server\bin

  VisualSVN的Repositories目录:E:\Repositories

      操作步骤:

  1、以管理员身份运行cmd,进入bin路径。

  VisualSVN 项目备份及迁移的两种方式

  2、将需要迁移的svn项目通过svnadmin的dump命令迁移到所需要保存的目录,若不填路径,则默认保存在VisualSVN的bin目录下。

  命令格式:svnadmin dump E:\Repositories\MyApp > E:\Subversion\svn_all_20140609.dump

  VisualSVN 项目备份及迁移的两种方式

  3、在目标服务器上的VisualSVN中,新建一个空的资源库。如:TestAdmin.

  VisualSVN 项目备份及迁移的两种方式

  4、将生成的dump文件拷贝到目标服务器上,使用svnadmin 的load命令,将dump文件导入到资源库中。

  命令格式:svnadmin load E:\Repositories\TestAdmin < E:\svnbackup\svn_all_20140609.dump

  VisualSVN 项目备份及迁移的两种方式

  5、顺利将本地的svn项目迁移到192.168.2.55上。

 

  二、使用VisualSVN的svnsync命令。

  1、在目标机器上创建一个空的资源库,如:TestSync.

  2、修改E:\Repositories\TestSync\hooks下的pre-revprop-change.tmpl文件,将最后一行的"exit 1"改成"exit 0".

  3、在E:\Repositories\TestSync\hooks下新建一个pre-revprop-change.bat文件,该文件的内容只有一句话:"exit 0".

  VisualSVN 项目备份及迁移的两种方式

  4、初始化资源库命令:svnsync init file:///E:/Repositories/TestSync https://192.168.2.55/svn/AppDump

  5、同步资源库命令:svnsync sync file:///E:/Repositories/TestSync

  VisualSVN 项目备份及迁移的两种方式

  6、顺利将192.168.2.55上的项目迁移到本地的svn资源库中。