6.svn 钩子功能

钩子功能

该功能其实是依据脚本实现,该脚本的写法是shell 是一样的 。  钩子脚本就是对某些版本库触发的程序 。 类似 inotify

钩子的目录 在每一个svn的项目工程库下面。 里面会有模板。

[ sadoc]# pwd/application/svndata/sadoc[ sadoc]# lltotal 8drwxr-xr-x 2 root root  79 Dec 29 12:06 confdrwxr-sr-x 6 root root 253 Dec 31 12:39 db-r--r--r-- 1 root root   2 Dec 28 12:37 formatdrwxr-xr-x 2 root root 231 Dec 28 12:37 hooksdrwxr-xr-x 2 root root  41 Dec 28 12:37 locks-rw-r--r-- 1 root root 229 Dec 28 12:37 README.txt[ sadoc]# ll  hooks/total 36-rw-r--r-- 1 root root 1977 Dec 28 12:37 post-commit.tmpl                         #提交完成时触发事务    -rw-r--r-- 1 root root 1638 Dec 28 12:37 post-lock.tmpl                           #对文件进行加锁之后执行的事物-rw-r--r-- 1 root root 2289 Dec 28 12:37 post-revprop-change.tmpl                 #版本属性修改后触发事务-rw-r--r-- 1 root root 1567 Dec 28 12:37 post-unlock.tmpl                         #对文件进行解锁之后执行的事物-rw-r--r-- 1 root root 3426 Dec 28 12:37 pre-commit.tmpl                          #提交完成前触发事务-rw-r--r-- 1 root root 2434 Dec 28 12:37 pre-lock.tmpl                            #对文件进行加锁之前执行的事物-rw-r--r-- 1 root root 2786 Dec 28 12:37 pre-revprop-change.tmpl                  #版本属性修改前触发事务                 -rw-r--r-- 1 root root 2122 Dec 28 12:37 pre-unlock.tmpl                          #对文件进行解锁之前执行的事物-rw-r--r-- 1 root root 2780 Dec 28 12:37 start-commit.tmpl                        #提交前触发事务,还未提交时触发的时间

标黄的 为常用

重要提示:
1. 如果要使用这些模板。需要将模板后面的.tmpl 的后缀名去掉。

2.由于安全原因,Subversion 在一个空环境中执行钩子脚本是没有任何环境变量的 ,甚至没有$PATH。所以有的脚本,在系统中手动可以执行,但是在svn切不能运行。是因为没有变量 ,所以必须要在钩子设置中设置好环境变量或写好绝对路径。这个需要注意

相关推荐