你有整合Mantis和Subversion吗?

its*_*att 8 svn mantis scmbug

我主要做Windows开发.我们使用MantisSubversion进行开发,但它们没有集成在一起,实际上它们位于不同的服务器上.

我做了一些关于将两者整合在一起的谷歌搜索,并发现了这篇文章.看起来很有趣.

我想知道是否有人这样做或已经完成了这个以及你的经历是什么.如果你有不同的解决方案,我也有兴趣了解它!

谢谢!

gbj*_*anb 5

我使用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
Run Code Online (Sandbox Code Playgroud)

并把它放在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;
Run Code Online (Sandbox Code Playgroud)

如果要从VSS迁移,则会有大量脚本,包括我在codeplex上编写的脚本.

这一切都运作良好,我们一直使用它,它足够快,不会注意到它.只需键入"Fixed Mantis#1234"即可解决该问题,并为其添加一个bugnote.该脚本还添加了修改为bugnote的目录(我尝试显示已更改的文件,但太多有助于理解)


Lar*_*man 3

我们使用 scmbug 将 SVN 链接到 Bugzilla 已经有一段时间了。工作得很好,直到我们最近升级到 Bugzilla 3.2,这破坏了集成。当 SCM 工具的新版本发布时,scmbug 团队需要一段时间才能跟上,这是可以理解的。