SVN钩子hooks

简述

由于安全原因,Subversion版本库在一个空环境中执行钩子脚本-->就是没有任何环境变量,甚至没有$PATH或%PATH%。注意必须在你的钩子中设置好环境变量或为你的程序指定好绝对路径。

默认情况下,SVN版本库钩子的目录中包含各种版本库钩子模板

[root@localhost hooks]# ll /svn/HLink/hooks/
总用量 36
-rw-r--r-- 1 root root 1977 12月 19 2016 post-commit.tmpl
-rw-r--r-- 1 root root 1638 12月 19 2016 post-lock.tmpl
-rw-r--r-- 1 root root 2289 12月 19 2016 post-revprop-change.tmpl
-rw-r--r-- 1 root root 1567 12月 19 2016 post-unlock.tmpl
-rw-r--r-- 1 root root 3426 12月 19 2016 pre-commit.tmpl
-rw-r--r-- 1 root root 2410 12月 19 2016 pre-lock.tmpl
-rw-r--r-- 1 root root 2786 12月 19 2016 pre-revprop-change.tmpl
-rw-r--r-- 1 root root 2100 12月 19 2016 pre-unlock.tmpl
-rw-r--r-- 1 root root 2780 12月 19 2016 start-commit.tmpl

start-commit  事务创建之前。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 试图提交的用户名。

hook 的返回值:非 0 则 终止。

一 般用途:判断用户是否有权限进行提交 操作。

pre-commit  事务完成,但未提交。

-         参 数 1 , 代码库路径。

-         参 数 2 , 事务名。

hook 的返回值:非 0 则 终止提交,操作回滚。

一 般用途:对提交内容进行检查。如要求 提交必须填写提交信息。

post-commit  事务提交完毕,新的修订版被 创建。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 刚创建的修订版号。

hook 的返回值被忽 略。

一 般用途:发送邮件通知,或备份代码 库。

pre-revprop-change  修改修订版属性(如提交时提 供的信息 message )之前。

由于修订版属性一旦修改就会 永久的丢失,除非安装这个事件的 hook ,subversion 的 客户端不允许远程修改修订版属性。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 要修改的修订版号。

-         参 数 3 , 操作用户名。

-         要 修改的属性。

hook 的返回值:非 0 则 终止。

一 般用途:保存修订版属性的改变记录。

post-revprop-change  修订版属性值被修改之后。

如果没有安装 pre-revprop-change 的 hook , 这个事件的 hook 不会被执行。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 要修改的修订版号。

-         参 数 3 , 操作用户名。

-         要 修改的属性。

hook 的返回值被忽 略。

一 般用途:发送邮件

实践

猜你喜欢

转载自www.cnblogs.com/mingetty/p/9790287.html