Tag: mantis

  • MantisBT与SVN整合实战

    Mantis是一个流行的开源缺陷管理系统 SVN是常见的SCM工具 日常的bug修复工作流程一般是: 修复某bug。 SCM中提交针对某bug的更新。 缺陷管理系统中更新缺陷状态。 其中2、3步往往会,或者说应当提交相同的comment。因此事实上是重复信息提交,那么就存在优化的可能性。 SVN与git不同,是集中式的SCM工具,服务器有条件感知每次commit动作,事实上也有hooks接口提供。因此有了触发输出接口。 http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks Mantis也提供了命令行的方式为指定bug添加note,更改状态。因此我们有了输入接口。 http://www.mantisbt.org/docs/master-1.2.x/en/administration_guide/admin.config.sourcecontrol.html   简单说,你需要提供一个脚本,svn服务器会在每次有commit动作时触发你的脚本,你的脚本需要处理这次commit的信息、改动,等等,然后转而提供相应的信息调用mantis的接口;mantis的接口会根据你提供的信息判断这次提交所针对的issue以及是否需要更改状态,并完成相应的更改。 一般而言,为了正常工作,需要约定commit的时候提交的message有一定的规律,比如包含Fixed Issue #000476,这样的字样。 这里有一个相当好的细节教程脚本示范,首先通用性非常好,其次它是用php写的——因为mantis本身是LAMP架构的,所以php一定安装了,不对系统有额外的假设。 当然还有一点点地方需要注意: mantis1.2里面checkin.php在scripts下面,而不是core下面。 请在文件首尾加上 #!/usr/bin/php(替换成你自己的路径) <?php以及?> 否则他给出的代码部分并不能直接执行的哦。 里面所有的\n我都我替换成了<br />,因为在浏览器里,\n可是会被忽略的。 当然你如果喜欢perl python甚至shell都亦无不可,只要你保证安装过了。