linux下svnsync同步版本庫配置

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


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

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

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


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


進入目標服務器ide

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

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


修改權限,容許執行   
post

1
chmod  a+x pre-revprop-change


編輯(註釋全部可用代碼)測試

1
vi  pre-revprop-change


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

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


同步配置初始化

   

1
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


執行同步

1
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目錄)

1
vim post-commit


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

1
svnsync  sync  svn: //196 .168.0.2 /testB  -- source -username sync_source -- source -password 123456 -- sync -username  sync  -- sync -password 123456 --no-auth-cache

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

1
(svnsync  sync  svn: //196 .168.0.2 /testB  -- source -username sync_source -- source -password 123456 -- sync -username  sync  -- sync -password 123456 --no-auth-cache &)


如今能夠測試提交下文件,而後查看兩個版本庫是否同步。

本文出自 「秋風掃落葉」 博客,請務必保留此出處http://php2012web.blog.51cto.com/5585213/1852311

相關文章
相關標籤/搜索