svn+mailer.py+svnmanager 2 of 3
发布:Hekunharris | 发布时间: 2011年12月12日升级有风险,升级需谨慎。
我在我大学同学的qq群里咨询了很久,可是同学们不甩我。讨论房子、股票、孩子and
all that crap。当初搞软件的同学们好像就我一个人在做MIS, 其他的只有很少在做软件开
发了,当然也少不了进了银行的NB轰轰的同学,一天都群里说股票,上市。。。所以我
很少上QQ, 每次上QQ几乎都是咨询技术上的东西。
靠人不如靠自己,到subversion 的官方网站上看看吧。
现在subversion 升级到最新的1.7的版本了,而且整个项目也挪到ASF(Apache Software
Foundation)下了。
看介绍,好像1.7版很NB,许多以前难找的依赖包都不需要了,但是客户端结构也会发生变
化,好像每个folder里的隐藏.svn目录会集成到一个控制文件里,很难想象会与我们目前
的结构发生什么不可预知的冲突。放弃吧。
subversion 1.6.17最新的“老”版本。就他吧。
安装subversion1.6.17的依赖包如下:
------------------------------------------------------------
subversion-1.6.17-1.rhel5.x86_64.rpm
subversion-devel-1.6.17-1.rhel5.x86_64.rpm
subversion-perl-1.6.17-1.rhel5.x86_64.rpm
subversion-python-1.6.17-1.rhel5.x86_64.rpm
subversion-tools-1.6.17-1.rhel5.x86_64.rpm
mod_dav_svn-1.6.17-1.rhel5.x86_64.rpm
neon-0.28.4-1.x86_64.rpm
neon-devel-0.28.4-1.x86_64.rpm
sqlite-3.5.9-2.x86_64.rpm
sqlite-devel-3.5.9-2.x86_64.rpm
------------------------------------------------------------
好像要多一点,其实只需要升级安装
------------------------------------------------------------
subversion-1.6.17-1.rhel5.x86_64.rpm
subversion-devel-1.6.17-1.rhel5.x86_64.rpm
subversion-python-1.6.17-1.rhel5.x86_64.rpm
mod_dav_svn-1.6.17-1.rhel5.x86_64.rpm
------------------------------------------------------------
就可以了。
而mailer.py 需要支持的是subversion-python-1.6.17-1.rhel5.x86_64.rpm
1. 升级安装
rpm -Uvh subversion-1.6.17-1.rhel.x86_64.rpm
失败。
rpm -Uvh subversion-devel-1.6.17-1.rhel5.x86_64.rpm
失败。
rpm -Uvh mod_dav_svn-1.6.17-1.rhel5.x86_64.rpm
还是失败。
2. 先卸载,再安装
rpm -e mod_dav_svn
rpm -e subversion-devel
rpm -e subversion-perl
rpm -ivh neon-0.28.4-1.x86_64.rpm
rpm -Uvh sqlite-3.5.9-2.x86_64.rpmrpm
rpm -e subversion
rpm -ivh subversion-1.6.17-1.r
rpm -ivh subversion-devel-1.6.17-1.rhel5.x86_64.rpm
rpm -ivh mod_dav_svn-1.6.17-1.rhel5.x86_64.rpm
rpm -ivh subversion-perl-1.6.17-1.rhel5.x86_64.rpm
比想象中的简单嘛。ll
3. 再升级组件
rpm -ivh subversion-python-1.6.17-1.rhel5.x86_64.rpm
在卸载以前的mod_dav_svn-1.4.2版本的时候,系统会自动备
份/etc/httpd/conf.d/subversion.conf 文件和 /etc/httpd/conf/httpd.conf 文件,当新文件安装
完成时记住重新复制配置就可以了。
4. 编辑hooks 下的post-commit 脚本
注释掉以前的,添加如下代码:
------------------------------------------------------------
/svn/mailer.py commit "$REPOS" "$REV"
------------------------------------------------------------
重启动服务
------------------------------------------------------------
/etc/init.d/httpd restart
------------------------------------------------------------
用TortoseSVN brower check it out.
通过,搞定。
接下来该配置mailer.py 了。
大段的鸟文说明说是默认就可以,那简单
cat /repos/mailer.conf.example | grep ^# | grep ^$ > /repos/mailer.conf
其中修改下邮件代码
------------------------------------------------------------
mail_command = /usr/sbin/sendmail
------------------------------------------------------------
我的测试仓库结构
/xxx
/1
/2
------------------------------------------------------------
[xxx]
for_repos = /repos/xxx
for_paths = 1/*
from_addr = SVN Notice
to_addr = harris.he@xxx.com
------------------------------------------------------------
我只监控根目录下名为1的folder
在客户端我用TotoseSVN 更新一文件提交,但是出了问题,窗口显示MERGE of
'/repos/xxx': 200 OK (http://xxx.xxx.xx.xx:65534
权限没有问题,应该是服务器没有合并版本的原因,这个到不常见,我在网上寻求的帮
助,在/repos/xxx/hooks/post-commit 中添加一行
------------------------------------------------------------
/usr/bin/svn up /repos/xxx
------------------------------------------------------------
搞定! 监控同一repository 里不同folder的脚步成功了。
TO BE CONTINUE...
本文来自:白日梦工厂
- 相关文章:
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。






