java - svn配置提交代码必须写log、svn怎么统计代码?
天蓬老师
天蓬老师 2017-04-18 09:42:29
0
1
351

问题一: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的代码行差数(这个就什么都可以做了)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!