我主要做Windows开发。我们使用Mantis和Subversion进行开发,但它们没有集成在一起,实际上它们位于不同的服务器上。
我做了一些关于将两者整合在一起的谷歌搜索,并遇到了这篇文章。看起来很有趣。
我想知道是否有人正在这样做或已经这样做以及您的经历是什么。如果您有不同的解决方案,我也有兴趣知道!
谢谢!
我将 Mantis 与 SVN 一起使用。就像那个链接说的那样,虽然我把正则表达式放在提交后,所以如果提交消息不相关,它不会尝试更新错误,这使得非错误更新提交的响应速度稍快一些。
我的 Mantis 安装也在不同的服务器上。我在Mantis 1.1.6 中使用curl调用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”,它就会解决该错误并为其添加错误注释。该脚本还将已修改的目录也添加到错误注释中(我尝试显示更改的文件,但太多有损于易于理解)
我们使用 scmbug 将 SVN 链接到 Bugzilla 已经有一段时间了。在我们最近升级到 Bugzilla 3.2 之前工作得很好,这破坏了集成。scmbug 团队需要一点时间才能赶上 SCM 工具的新版本,这是可以理解的。
这是我们使用的Subversion 提交后脚本。它使用 PHP 来运行 Mantis checkin PHP 脚本,如原始帖子中此链接中所建议的那样。
我遇到了scmbug。看起来它将把像 Mantis 这样的东西连接到像 Subversion 这样的东西上。
我们按照您链接中的步骤进行操作 - 唯一的区别是在 Windows 上您使用的是 post-commit.bat。如果您向下滚动,则有人发布示例。我们对其进行了修改,因此它记录了更改的文件以及更改了它们的人 - 对批处理文件的相当简单的破解。我们尝试在某一时刻包含差异 - 但很快就很明显这样做是一个坏主意,因为某些签入的大小。
它工作得非常好,我真的很高兴 - 现在我必须将我们所有的 Sourcesafe 东西转移到......
我个人使用 VisualSVN 服务器和公共 Mantis 错误跟踪器在我的本地开发环境中使用私有 SVN 存储库。我不得不稍微更改 checkin.php 文件以处理来自 Web 服务器的调用(借助此网页:http ://www.mantisbt.org/bugs/view.php?id=8847 )
我制作了一个简短的 C# 控制台应用程序来处理此问题,而不是批处理文件,因此它更具可配置性并支持远程或本地 checkin.php 文件。
如果您有兴趣,我已经在我的博客上发布了一篇关于源代码的文章:http: //mp4m.org/blog/svn-and-mantis-bug-tracker-integration/
希望有帮助!