svn hooks

hooks目录文件说明

post-commit 在提交完成,成功创建版本之后执行该钩子,提交已经完成,不可更改,因此本脚本的返回值被忽略。

post-lock 对文件进行加锁操作之后执行该脚本

post-revprop-change 在修改 revision 属性之后,执行该脚本。因为修改稿已经完成,不可更改,因此本脚本的返回值被忽略(不过实际上的实现似乎是该脚本的正确执行与否影响属性修改)

post-unlock 对文件进行解锁操作之后执行该脚本

pre-commit 在 Subversion transaction 完毕之后,在提交之前,执行该脚本

pre-lock 对文件进行加锁操作之前执行该脚本

pre-revprop-change 在修改 revision 属性之前,执行该脚本

pre-unlock 对文件进行解锁操作之前执行该脚本

start-commit 在客户端还没有向服务器提交数据之前,即还没有建立 Subversion transaction(缩写为 txn) 之前,执行执行该脚本

EXAMPLE

  1. post-commit
#!/bin/bash
REPOST="$1"
REV="$2"

DIR="/data/www/test"
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
CURDATE=`date`
echo "Code Deployed By at $CURDATE,$REPOST,$REV" >> /data/log/svn/code_deployed.log
/usr/bin/svn update $DIR --username 用户名 --password 密码 --no-auth-cache 2>1 /data/log/svn_look.log