svn实战
pre-commit
提交前的钩子,最经典的应用就是用来检查是否有填写提交描述(commit log)
# 编辑pre-commit
vim pre-commit
# 添加一下内容
#!/bin/sh
# 这是仓库地址,更多的钩子环境变量还可以在 /conf/hooks-env 里面配置
REPOS="$1"
# 版本号,subversion里面专用的,跟我们看到的那个版本号不一样
TXN="$2"
# 判断是否有填写提交描述,没有则不给提交并提示
SVNLOOK=/usr/bin/svnlook
msg=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]")
if [ -z "$msg" ];then
# 这行错误提示将会在svn客户端显示
echo "必须填写提交描述">&2;
# 有错误,不允许提交,则返回非0错误吗
exit 1
fi
# Exit on all errors.
set -e
# 全部检查都通过,则返回错误码0允许提交,
exit 0
给钩子文件赋予执行权限
chmod a+x pre-commit

浙公网安备 33010602011771号