subversion mirror

subversion mirror

1.创建镜像版本库svnadmin create c:\svn_mirror(去掉注释加入密码)
2.初始化镜像库执行svnsync initialize svn://192.168.0.1(目标库) svn://127.0.0.1(备份库) --username username
--password password 命令作用是在目标版本库上注册源版本库(在windows中将pre-revprop-change.tmpl后缀改为bat 清空后加入 @exit0)执行后出现“复制版本 0 的属性”
3.同步版本库执行svnsync synchronize svn:// 192.168.0.1 --username username --password password

命令工作过程:查看目标版本库特定修订版本的属性,并且检测同步的版本库是哪一个,以及最新镜像的修订版本是0。然后它会查询原版本库,检测其最新的修订版本。最后,他会询问原版本库服务器来开始重演从修订版本0到最新修订版本。Svnsyn从原版本库服务器得到返回的结果,然后将其作为新的提交转发到目标版本库服务器。如果因为执行中网络中断,只需要重新执行命令,它会从中断处开始继续同步。

注:Svnsynv实质上就是通过版本库“重放”修订版本,一次一个,然后将修订版本信息模拟提交到另一个版本库。当对远程源版本库使用svnsync时,subversion版本库的服务器必须是subversion1.4或更高的版本。

在window下通过svnsync命令的备份

    set rdate=%date:~0,10%
    set rtime=%time:~0,11%
    set logFileName=log_%rdate%.log
    set logPath=E:\LOG\
    set logFullName=%logPath%%logFileName%
    svnsync init svn://192.168.0.2 svn://192.168.0.1/ --username --password >> %logFullName%
    svnsync sync svn://192.168.0.2 >> %logFullName%

将bat放到计划任务中实现定时备份

你可能感兴趣的:(C++,c,windows,SVN,subversion)