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

相关文章
相关标签/搜索