SVN服务器
右键对应的版本库
查看properties 选择钩子hooks
一、pre-commit hook 提交之前的动作 ---- 设置必须填写备注说明
双击编辑填写:
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem 保证输入8个字符
svnlook log %REPOS% -t %TXN% | findstr "........" > nul
if %errorlevel% gtr 0 goto :err_action
rem 过滤空格字符
svnlook log %REPOS% -t %TXN% | findstr /ic:" " > nul
if %errorlevel% gtr 0 goto :success
:err_action
echo 补充日志说明信息后再提交代码,例如:功能说明等. >&2
echo *****************禁止空格数据**************** >&2
goto :err_exit
:err_exit
exit 1
:success
exit 0
二、post-commit hook 提交之后的动作 ---- 提交后自动更新到服务器目录
双击编辑填写:
@echo off
SET WORKING_COPY=D:/wamp/www/test
"C:/Program Files (x86)/VisualSVN Server/bin/svn.exe" update %WORKING_COPY% --quiet --username SVN用户 --password 123456
自动更新在Windows系统还要设置登录账户为管理员(也可以直接输入账号密码)
最后:
第一次提交自动更新时Windows会弹出提示,
点击立即查看 dos 界面 输入t本次允许 输入p以后都不会弹出了 ,
按回车然后退出即可。
Linux
编辑 hooks/post-commit 自动更新目录
#!/bin/sh
export LANG=en_US.utf8
svn update /z/workspace/fff--username 'admin' --password ''
编辑 hooks/pre-commit 注释必须不少于5个字
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 4 ];#要求注释不能少于5个字符,您可自定义
then
echo -e "注释信息不能为空且不少于5个字!" 1>&2
exit 1
fi
80 exit 0