目的:
一个是主库,其他是从库,主库的修改引起从库的变更,确保多个备份,防止主库损坏导致数据丢失。
注:https方式同步主从库时涉及证书问题,暂且先使用http方式,切记局域网内svn!
1、 初始化从库
a) 通过svn创建一个空的库,对此库设置用户名、密码,同步时用;其他用户拒绝访问;
从库的hooks目录要添加文件pre-revprop-change.bat,内容为空
b) 对从库初始化
svnsync init http://hostname:port/svn/从库 http://hostname:port/svn/主库--source-username 主库用户名 --source-password 主库密码 --sync-username 从库用户名 --sync-password 从库密码
接着可能要输入windows的用户密码、主库svn的用户名、密码
c) 同步从库
svnsync sync http://hostname:port/svn/从库 --source-username 主库用户名 --source-password 主库密码 --sync-username 从库用户名 --sync-password 从库密码
2、 使用钩子同步从库
主库的hook目录下新建文件post-commit.bat,内容如下:
echo off
set SVN_HOME="D:Program FilesVisualSVN Server"
%SVN_HOME%insvnsync sync --non-interactive http://hostname:port/svn/从库 --source-username 主库用户名 --source-password 主库密码 --sync-username 从库用户名 --sync-password 从库密码
弄好后,在主库里提交了更改,从库就会同步更改。
注:从库和主库最好在不同的机器,否则没意义。