• ScmBug


    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.

  • 相关阅读:
    I/O 请求数据包
    设备节点和设备堆栈
    观察者模式,即发布-订阅模式
    建造者模式,即生成器模式
    外观模式,即门面模式
    迪米特法则(LoD),即最少知识原则
    模板方法模式
    原型模式
    工厂方法模式
    代理模式
  • 原文地址:https://www.cnblogs.com/allenblogs/p/1787088.html
Copyright © 2020-2023  润新知