集成SVN源码管理和Mantis缺陷跟踪

来源:互联网 发布:淘宝联盟怎么用购物车 编辑:程序博客网 时间:2024/06/06 09:30

要集成Mantis和SVN,需要几个工具:

SVN客户端,有个windows下的很不错的工具,TortoiseSVN,完全集成在explorer里,下载地址: http://tortoisesvn.net/ 

SVN服务端,这个应该都有吧。

Mantis缺陷跟踪系统,用php开发。轻量级的缺陷跟踪系统。 http://www.mantisbt.org/

首先先在TortoiseSVN里设置一下项目的属性,右键点击目录,属性,在subversion一栏里,加入这几个属性

bugtraq:label = issue
bugtraq:url = http://<mantisserver>/mantis/view.php?id=%BUGID%
bugtraq:message = issue %BUGID%
bugtraq:warnifnoissue = true

到对应的SVN版本库里,找到hooks目录,建立一个post-commit.bat文件,将以下内容拷入:

REM Post-commit hook for MantisBT integration
SET REPOS=%1
SET REV=%2
SET DETAILS_FILE=E:/svnrepo/log/svnfile_%REV%
SET LOG_FILE=E:/svnrepo/log/svnfile_%REV%_Log
set APR_ICONV_PATH=F:/software/svn-win32-1.4.2/iconv
set path=%path%;e:/software/php;F:/software/svn-win32-1.4.2/bin;

 
echo ****** Source code change ******>>%DETAILS_FILE%
svnlook log -r %REV% %REPOS%>>%DETAILS_FILE%
echo SVN Revision:%REV%>>%DETAILS_FILE%
svnlook diff -r %REV% %REPOS%>>%DETAILS_FILE%

php.exe E:/www/mantis/core/checkin.php <%DETAILS_FILE% >%LOG_FILE%
DEL %DETAILS_FILE%
DEL %LOG_FILE%

最后,修改mantis安装目录下的config_inc.php,加入以下内容(mantis系统里要有SVN用户):

$g_source_control_notes_view_status = VS_PUBLIC;
 $g_source_control_account = 'SVN';
 $g_source_control_set_status_to = OFF;
 $g_source_control_regexp = "//bissue [#]{0,1}(/d+)/b/i";

完成这些步骤后,就可以在SVN提交新版本时,同时发布内容到对应的缺陷跟踪系统了。

比如,修改了一个源文件,svn commit时,在右上的issue栏目里输入要提交到的具体的 issue/bug  编号,然后在下面的message框内输入具体的描述,svn的hook就会自动往mantis里对应的条目里写入你提交时输入的这些内容。

原创粉丝点击