svn的钩子

通过svn的钩子可以实现即commit即change通知。

具体方法如下:将commands模块的getstatusoutput函数的     pipe = os.popen('{ ' + cmd + '; } 2>&1', 'r')修改为pipe = os.popen(cmd, 'r')

(上述方法并非最佳,应重写一个函数命名为getstatusoutput1,然后将pipe一行重写,否则有可能出现python调用函数getstatusoutput函数是格式不对而产生程序崩溃)

然后再%repository server%/project/hook下增加文件commit.py,pos-commit.bat,源码如下

----------------------------------------commit.py---------------------------------------------------------------

import os
cmd='svnlook youngest "C:/Repository Server/HelloWorld"'
pipe=os.popen(cmd)
version=pipe.read().split('/n')[0]
pipe.close()
cmd='python C:/BuilderServer/buildbot-0.7.5/contrib/svn_buildbot.py --repository "c:/repository server/HelloWorld" --revision '+version+' --bbserver localhost --bbport 9989'
pipe1=os.popen(cmd)
text=pipe1.read()
print cmd
---------------------------------------------------------------------------------------------------------------------

--------------------------------------------pos-commit.bat------------------------------------------------------

python "C:/Repository Server/HelloWorld/hooks/commit.py"

---------------------------------------------------------------------------------------------------------------------

如此来当commit结束后,将执行post-commit.bat批处理,运行python脚本达到钩子效果

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值