我主要做Windows开发.我们使用Mantis和Subversion进行开发,但它们没有集成在一起,实际上它们位于不同的服务器上.
我做了一些关于将两者整合在一起的谷歌搜索,并发现了这篇文章.看起来很有趣.
我想知道是否有人这样做或已经完成了这个以及你的经历是什么.如果你有不同的解决方案,我也有兴趣了解它!
谢谢!
我使用Mantis和SVN.就像那个链接所说的那样,虽然我把regexp放在post-commit中,所以如果提交消息不相关,它不会尝试更新bug,这使得非bug更新提交的响应速度稍快一些.
我的Mantis安装也在不同的服务器上.我使用curl来调用 Mantis 1.1.6中的php方法.
把它放在你的post-commit.cmd钩子里(你需要下载草莓perl并从中获取perl.exe和perl510.dll,你不需要其余的)
c:\tools\perl c:\tools\mantis_urlencode.pl %1 %2 > c:\temp\postcommit_mantis.txt if %ERRORLEVEL% NEQ 0 exit /b 0 c:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://swi-sgi-l-web1.ingrnet.com/mantis/core/checkincurl.php
并把它放在mantis_urlencode.pl中
$url = `svnlook log -r $ARGV[1] $ARGV[0]`; # check the string contains the matching regexp, # quit if it doesn't so we don't waste time contacting the webserver # this is the g_source_control_regexp value in mantis. exit 1 if not $url =~ /\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i; $url = $url . "\n" . `svnlook dirs-changed -r $ARGV[1] $ARGV[0]`; #urlencode the string $url =~ s/([^\w\-\.\@])/$1 eq " "?"+": sprintf("%%%2.2x",ord($1))/eg; print "log=$url"; exit 0;
如果要从VSS迁移,则会有大量脚本,包括我在codeplex上编写的脚本.
这一切都运作良好,我们一直使用它,它足够快,不会注意到它.只需键入"Fixed Mantis#1234"即可解决该问题,并为其添加一个bugnote.该脚本还添加了修改为bugnote的目录(我尝试显示已更改的文件,但太多有助于理解)