1、导出(全库进行导出和导入): 

在windows下,打开命令窗口,

输入下列命令并执行: 

svnadmin dump D:\Repositories\TestProject > D:\svndumpfile\TestProject_20090722.dump 

可以将对应的svn仓库(整个仓库)进行导出,进行全库的备份。

2、将dump文件拷贝到目标机器

3、在目标机器创建仓库: 

svnadmin create D:/repositories/TestProject 

并注意检查是否需要修改文件夹权限

或者在svn server中新建

新建

 

  1. 执行命令svnadmin load: 

svnadmin load D:/repositories/TestProject < D:/TestProject_20090722.dump 

通过以上命令对svn仓库进行还原.

备注:

  1.  如果需要用到svn的增量备份,同样可以使用svn dump工具进行增量备份。

增量备份需要管理员自己维护好以往备份的版本。

$svnlook youngest 版本库路径//查看到目前为止最新的版本号

$svnadmin dump myrepos > 导出的路径\文件名.dump//将指定的版本库导出成文件dumpfile

永不多次提交更新版本库,每次都会产生一个新的版本,一次增量备份需要管理员维护好上一个备份的最新版本作为下一次增量备份的最老版本(注意版本号+1).

svnadmin dump myrepos –r 100:200 >备份路径\rev-100-200.dumpfile  //将version100~200导出

下次增量备份:

先查询当前最新版本

svnlook youngest myrepos //查看到目前为止最新的版本号

假设200为最新版本号

svnadmin dump myrepos –r 100:200 >备份路径\rev-100-200.dumpfile 

   2.  上述增量备份本质来说,就是文件的转储。如果版本库过大,还可以利用上述方式,将版本库转成多个文件,进行迁移。演示如下:

$svnadmin dump myrepos –r 0:1000 >备份路径\0-1000.dumpfile

$svnadmin dump myrepos –r 1001:2000 --incremental >备份路径\1001-2000.dumpfile

$svnadmin dump myrepos –r 2001:3000 --incremental >备份路径\2001:3000.dumpfile

备注:进行增量备份是,注意加上--incremental 选项,如果没有加上,是不进行增量备份的,比如选项 -r 1001:2000,则实际备份是从0:2000,进行一个备份。所以留意--incremental参数带来的差别。

在导入时,可以将这几个备份文件装载到一个新的版本库中

$svnadmin load myrepos < 0-1000.dumpfile

$svnadmin load myrepos < 1001-2000.dumpfile

$svnadmin load myrepos < 2001:3000.dumpfile

备注:增量备份必要要求以前版本的文件是要存在的,不然会可能会无法成功还原的,完全指增加文件除外。

 

更多推荐