目的:
一個是主庫,其他是從庫,主庫的修改引起從庫的變更,確保多個備份,防止主庫損壞導致數據丟失。
注: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 Files\VisualSVN Server"
%SVN_HOME%\bin\svnsync sync --non-interactive http://hostname:port/svn/從庫 --source-username 主庫用戶名 --source-password 主庫密碼 --sync-username 從庫用戶名 --sync-password 從庫密碼
弄好后,在主庫里提交了更改,從庫就會同步更改。
注:從庫和主庫最好在不同的機器,否則沒意義。