大家论坛

 找回密码
 注册
查看: 349|回复: 0

在Linux和Windows下安装SVN钩子脚本

[复制链接]
发表于 2017-12-13 17:47 | 显示全部楼层 |阅读模式
上篇文章说到通过Topo管理研发项目代码,这里需要一个前提就是安装了支持代码历史的实时提取,这个功能是通过SVN钩子(hook)实现的。目前Subversion有已实现了五种钩子:
  • start-commit
    它在提交事务产生前已运行,通常用来判定一个用户是否有权提交。
  • pre-commit
    在事务完成提交之前运行,通常这个钩子是用来检查、判断因为内容或位置而不允许的提交。
  • post-commit
    它在事务完成后运行,创建一个新的修订版本。
  • pre-revprop-change
    因为Subversion的修订版本属性不是版本化的,对这类属性的修改(例如提交日志属性 svn:log)将会永久覆盖以前的属性值。因为数据在此可能丢失,所以Subversion提供了这种钩子(及与之对应的post-revprop- change)。
  • post-revprop-change
    我们在前面提到过,这个钩子与pre-revprop-change对应,在修改之后触发。

我们需要的是post-commit钩子,Topo在Svn库上,会给出钩子的安装说明,参考下图:
Topo界面上的钩子安装说明

点击这个说,可以出现详细的脚本说明:
钩子脚本说明

可以看到,在Linux和Windows下脚本文件名不同,Linux下为post-commit,而Windows下为post-commit.bat,都需要放置在SVN库的hooks目录下。脚本文件的内容,也依据服务器类型不同有少许不同,但基本上就是一两行代码就搞定了,还是比较简单的,需要注意的就是提前安装好curl,大部分Linux下已经有curl了,但是Windows下可能需要自己安装一个curl.exe,钩子是调用了curl来和Topo服务器交互的。
安装好钩子之后,代码的提交信息就会实时进入项目管理系统了


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则



诚聘英才|移动端|Archiver|版权声明|大家论坛 ( 京ICP备06071611号,京公网安备11010802018363号 )

GMT+8, 2018-1-18 17:43 , Processed in 0.194392 second(s), 17 queries .

Powered by Discuz!

© Comsenz Inc.

快速回复 返回顶部 返回列表