阅读此篇文章你可以:
- 对SVN Hooks有一定的了解
- 获取两个最常用的SVN Hooks案例
SVN hooks介绍
Hooks 钩子,主要实现的功能就是在特定事件发生之前或者之后自动执行事先定义好的脚本代码来实现某些功能,类似于JS中的监听事件、MySQL中的触发器、Django中的signals信号等
大多数开发语言都可以用来编写hooks脚本,常用的如windows下的bat、vb,linux下的shell、python等
SVN中的hooks按照所在位置可以分为两类,客户端hooks和服务端hooks,日常使用中服务端hooks使用更广,我们也以服务端hooks介绍为主
SVN服务端hooks主要有以下9种:
pre-lock:文件加锁前执行,不常用
post-lock:文件加锁后执行,通常用来发送锁定事件通知,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.锁定路径的认证用户名
per-unlock:文件解锁前执行,不常用
post-unlock:文件解锁后执行,通常用来发送解锁事件通知,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.解锁路径的认证用户名
start-commit:开始提交时执行,在pre-commit之前,通常用来确定用户是否有提交权限
pre-commit:提交之前执行,在start-commit之后,通常用来对提交内容的检查,例如我们后边要介绍的利用pre-commit做提交log的合规性检查,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.提交事务的名称
post-commit:提交完成后执行,这应该是使用最广的hooks之一,通常

本文介绍了SVN Hooks的基本概念和作用,重点讲解了如何使用Hooks限制提交日志的规则,确保日志规范,以及在提交成功后发送邮件通知。通过示例,展示了如何设置pre-commit钩子检查log格式,并实现提交后根据提交者发送不同响应,如自动部署或邮件通知。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



