zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    Python入门_绘制多个五角形_turtle
    Selenium3+python自动化6-八种元素元素定位(Firebug和firepath)
    MongoDB入门(3)- MongoDB备份与恢复
    MongoDB入门(2)- MongoDB安装
    MongoDB入门(1)- MongoDB简介
    Elastic Search操作入门
    应用Xml.Linq读xml文件
    Struts2入门(1)-第一个Struts2程序
    Hibernate入门(4)- Hibernate数据操作
    Hibernate入门(3)- 持久对象的生命周期介绍
  • 原文地址:https://www.cnblogs.com/allenblogs/p/1787088.html
Copyright © 2011-2022 走看看