当前位置: 首页 > 工具软件 > Scmbug > 使用案例 >

ScmBug

单于正业
2023-12-01

ScmBug

The ScmBug project (http://www.mkgnu.net/?q=scmbug) aims to create a generic bridge between Software Content Management (SCM) systems and Bug tracking systems. It currently supports CVS and Subversion on the SCM side, and Bugzilla and Mantis on the Bug tracker side.

There are two parts to ScmBug:

  1. Event hook scripts that integrate into the SCM (referred to as "glue").
  2. A server process that integrates with the bug tracking system.

ScmBug uses a Subversion "pre-commit" hook to parses the commit log message looking for any Bug IDs. In order for this to work, the commit log message has to be formatted in standard way (and thanks to BugTraq, it is!) When it finds a Bug ID, it connects to the server process and passes the Bug ID and commit information.

The server process then updates Bugzilla with the given information. It does this by calling some of the perl scripts in the Bugzilla installation directory.  This means that the server process has to be on the same machine as Bugzilla.

I’m running Bugzilla on Fedora Core 5, so I used the ScmBug RPMs to install. They put a "scmbug-server" start script in "/etc/init.d".
You have to tweak the "daemon.conf" file in "/etc/scmbug" to tell it where to find Bugzilla before starting the server.

Next, you have to install the "Glue" (the Subversion hooks). ScmBug comes with a command line tool called "scmbug_install_glue" to help with this (see the ScmBug documentation on how to run it).

After this, you have to tweak the "glue.conf" file which will be located in the "hooks/etc/scmbug" directory in your Subversion repository.

The primary things you need to change in the "glue.conf" file are the regular expressions used to parse Bug IDs. Since my "bugtraq:message" = "Issue: %BUGID%", I found that the following settings work:


bugid_regex => ‘.*Issue:\s*(.*?)$’,
bugid_split_regex => ‘,\s+#|\s+#|,|\s+’,
log_regex => ‘^(([^\r\n]|[\r\n])*)Issue:.*$’

I also changed the "presence_of_bug_ids" property to "optional", otherwise you wouldn’t be able to do a commit without a bug id. I also disable the "minimum_log_message_size" enforcement.

转载于:https://www.cnblogs.com/allenblogs/archive/2010/07/28/1787088.html

 类似资料:

相关阅读

相关文章

相关问答