配置SVN提交必须填写日志信息

发表于:2017-11-16

适合Linux/Mac用户使用者

为什么要配置?

团队开发项目强烈推荐配置,以前我也不喜欢提交写备注信息,因为实在是太麻烦了。 然而慢慢的发现是有好处的,当需要回滚版本的时候才知道问题所在。而且看到其他人提交代码不写备注的时候真想弄死他,发现自己也是这样。。。


进入hooks目录编辑pre-commit

hooks目录就在新建仓库的当前目录下

vim pre-commit

粘贴下面的代码

#!/bin/sh
REPOS="$1"
TXN="$2"

# 敲which svnlook 就能看见所在路径了
SVNLOOK=/usr/bin/svnlook

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 10 ];
then
    echo "备注信息不能为空" 1>&2
    exit 1
fi

权限设置

sudo chmod 777 pre-commit

至此已经完成了, 可以试试不写备注?

你可以理解为pre-commit是一个生命周期钩子, 他的执行过程如下

// 提交之前
pre-commit
    ↓
// 提交过程
start-commit
    ↓
// 提交之后
post-commit
其他