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
posted @ 2021-12-08 15:48  冰块好冰  阅读(37)  评论(0)    收藏  举报