java - svn配置提交代码必须写log、svn怎么统计代码?
天蓬老师
天蓬老师 2017-04-18 09:42:29
[Java讨论组]

问题一:svn提交代码的时候,必须写log记录。这个配置文件在什么地方?如何配置?

A repository hook failed
svn: Commit failed (details follow):
svn: Commit blocked by pre-commit hook (exit code 1) with output:

Sorry,Empty log message not allowed. Commit aborted!
(Log message contains at least 5 alphanumeric characters!)

问题二:svn如何统计代码?如统计当前星期代码量?还有大家做code review,一般会用什么工具?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
高洛峰
  1. 将下面的代码存为pre-commit.bat放到版本库的hooks目录下即可,当你不写日志提交的话就会报告错误。

@echo off
set SVN_BINDIR=d:\Subversion\bin (此处需要修改为你的svn安装目录)
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
%SVN_BINDIR%\svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log message not allowed. Commit aborted! 1>&2
exit 1

这个是我自己项目的配置少于五个字符报错

REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
#$SVNLOOK log -t "$TXN" "$REPOS" | \
#   grep "[a-zA-Z0-9]" > /dev/null || exit 1

# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
#commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 5 ];#要求注释不能少于5个字符(数字和字母),您可自定义 
then
   echo -e "nLog message cann't be empty! you must input more than 5 chars as comment!." 1>&2
   exit 1
fi


# All checks passed, so allow the commit.
exit 0

2.没做过这个功能,实现原理应该可以在提交代码的时候拿到用户,对比代码行数。然后操作MYSQL命令去修改数据库(这个是用shell做)。或则每几天一次大统计比对每次SVN的代码行差数(这个就什么都可以做了)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号