SVN备份教程(一)

       最近一段时间在项目中用到了SVN备份的相关内容,这里给大家做一个简单的教程,重点在于SVN备份环境的搭建过程中,大家学到的解决问题的思维方式。

1、分类

       SVN备份主要分为两种:一种是远程备份,另一种是本地备份。但从实现方式上看,两种备份没有任何区别,仅仅是使用的协议有所不同而已。

2、实现

       在版本库同步设置之前,首先要做的就是建立两个不同的版本库,并记录各个版本库的位置和相应的权限分配的用户名和密码。
参考实例如下:
       1)、源版本库位置:https://TGB-PC/svn/test 或 file:///F:/Repositories/test
       权限分配:admin/admin
       2)、目标版本库位置:https://TGB-PC/svn/test1 或 file:///F:/Repositories/test1
       权限分配:zs/zs

       3)、进入目标版本库的hooks目录,创建【pre-revprop-change.bat】文件,该文件内容为空。

       4)、进入目标版本库的hooks目录,修改【pre-revprop-change.tmpl】文件,用记事本打开该文件,把文件最后的【exit 1】改为【exit 0】。(原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1,我们要将它改为允许修改所有的属性,在脚本中直接返回0)


3、初始化

       初始化的意义在于建立目标库和源库之间的同步关系
       命令格式: svnsync init 目标库URL 源库URL(两个URL之间有空格)
       参考如下:
       远程版本库与本地版本库初始化:svnsync init file:///F:/repositories/test1 https://TGB-PC/svn/test(会提示输入用户名和密码,这里提供的用户名和密码是可以完全读取于https://TGB-PC/svn/test的计算机密码,用户名和密码)

       同一主机远程版本库与远程版本库初始化:
              
       不同主机远程版本库与远程版本库初始化:
              
              (上述的Error并不是错误,只是一个提示,暂时忽略即可)

4、同步

       命令格式: svnsync sync 目标库URL
       参考如下:
       同步本地版本库:svnsync sync file:///F:/repositories/test1
       同步远程版本库:svnsync sync https://TGB-PC/svn/test1
       (如果提示输入用户名和密码,你可以在这个命令之后加上 username 、password参数。即svnsync sync file:///F:/repositories/test1 --username username --password password)

5、优化

       上述操作的命令可以通过编写脚本文件直接运行,将该批处理文件放入SVN服务器Bin目录,需要的时候双击运行即可。
       参考如下:
       文件名称:svn同步.bat
       文件内容:
svnsync sync file:///F:/repositories/test1 或 svnsync sync https://TGB-PC/svn/test1


        到此为止,应该说我们的SVN备份工作已经做的可以了,但是我们发现一个问题,我每次备份都需要点击bat文件,这样,对于程序员来讲就显的麻烦了。为了解决这个问题,请继续关注下一篇SVN自动备份!

原文地址:https://www.cnblogs.com/zs234/p/3691085.html