linux下svnsync同步版本庫配置

    svnsync可以方便的把另一個源svn版本同步到指定版本庫中,爲多版本庫應用提供方便。


示例: (版本庫所存目錄  /svn/  下)

    源版本庫:  svn://196.168.0.1/testA      同步用戶:sync_source 密碼:123456

    目標版本庫: svn://196.168.0.2/testB    同步用戶:sync 密碼:123456


源版本庫用於開發編輯提交等應用,目標版本庫只能可讀用於上線備份等應用。


進入目標服務器

編輯sync同步必要hooks腳本pre-revprop-change,(進入版本庫hooks目錄) 

cp pre-revprop-change.tmpl pre-revprop-change


修改權限,允許執行  

chmod a+x pre-revprop-change


編輯(註釋所有可用代碼)

vi pre-revprop-change


追加如下代碼(註釋代碼爲同步過來能自動更新到站點中,如果沒有站點可去掉)

#svn up /www/testB/ --username=sync --password=123456
exit 0


同步配置初始化

   

svnsync init file///svn/testB svn://196.168.0.1/testA --source-username sync_source --source-password 123456 --sync-username sync --sync-password 123456 --no-auth-cache


執行同步

svnsync sync svn://196.168.0.1/testA --source-username sync_source --source-password 123456 --sync-username sync --sync-password 123456 --no-auth-cache


進入源服務器

編輯提交使用的post-commit腳本(進入版本庫hooks目錄)

vim post-commit


最後面追加內容 (每次提交過來自動同步)

svnsync sync svn://196.168.0.2/testB --source-username sync_source --source-password 123456 --sync-username sync --sync-password 123456 --no-auth-cache

注意,在提交勾子中使用直接命令會影響提交速度,可以使用

(svnsync sync svn://196.168.0.2/testB --source-username sync_source --source-password 123456 --sync-username sync --sync-password 123456 --no-auth-cache &)


現在可以測試提交下文件,然後查看兩個版本庫是否同步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章