網路上看這篇文章http://www.ichiayi.com/wiki/tech/svnmantis
他的PERL程式我在整合上都出現問題,所以還是參考這裡的文章
http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/
加上自己的修改而成,終於順利整合成功
做法如下:


1.先裝SVN套件
apt-get install subversion

2. 安裝apache svn module 以取得svn相關組件
apt-get install apache2-utils apache2.2-common libapache2-svn

3.安裝mantis
到這裡下載最新的穩定版 http://www.mantisbt.org/download.php
我裝的是1.1.4

4.建立svn repository
sudo mkdir /home/svn
sudo svnadmin create /home/svn/mantis

5.設定dav_svn.conf
sudo vim /etc/apache2/mods-available/dav_svn.conf


DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user


6.編輯dav_svn.authz
[mantis:/] #<---mantis是我當初svnadmin create的名稱
* =
test= rw #<--test是帳號他擁有讀寫權

7.產生dav_svn.passwd的密碼
sudo htpasswd -c /etc/apache2/dav_svn.passwd test
若要增加第二位以上的使用者(不要加-c)
sudo htpasswd /etc/apache2/dav_svn.passwd test

8.修改mantis下的config_inc.php,加入以下敘述
#Source Control
$g_source_control_account = 'svn'; #<--這是在mantis建立的帳號
$g_source_control_regexp = '/\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i';
$g_source_control_set_status_to = RESOLVED;
$g_source_control_set_resolution_to = FIXED;
$g_source_control_fixed_regexp = '/\bfix(?:ed|es)\s+(?:bug|issue|mantis)?\s*[#]{0,1}(\d+)\b/i';

9.在/home/www/mantis下新增svn2mantis.sh (這是指mantis的網頁的路徑下)
#!/bin/sh

REPOS="$1"
REV="$2"
#export LANG=zh_TW.UTF-8這是為了相容中文
auth="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook author -r $REV $REPOS)"
dt="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook date -r $REV $REPOS)"
log="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook log -r $REV $REPOS)"
changed="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook changed -r $REV $REPOS)"
border='========================'
n=$'\n'

echo "Changeset [${REV}] by $auth, $dt$n$log$n$border$changed$border" | /usr/bin/php -q /home/www/mantis/scripts/checkin.php

10.新增/home/svn/mantis/hook/post-commit
#!/bin/sh

REPOS="$1"
REV="$2"

/home/www/mantis/svn2mantis.sh "$REPOS" "$REV"

11.建立一個PROJECT目錄
sudo mkdir /home/svn/mantis/files

12.import這個PROJRCT到svn
sudo svn import /home/svn/mantis/files file:///home/svn/mantis

以上設定完成,重新啟動apache2
sudo /etc/init.d/apache2 restart

這個時候用瀏覽器開啟 http://XXX/svn/mantis 輸入剛剛建立的svn帳號和密碼就可以看到最新的更新文件

以下介紹在client端用TortoiseSVN commit文件時的設定

1.先在你要做SVN的目錄按下滑鼠右鍵,選SVN checkout,將檔案庫的路徑用http://XXX/svn/mantis
之後會出現要你輸入SVN帳密

2.之後在TortoiseSVN裡設置一下項目的屬性,右鍵點擊目錄,屬性,在subversion一欄裡,加入這幾個屬性

bugtraq:label = issue
bugtraq:url = http://%3cmantisserver%3e/mantis/view.php?id=%BUGID%
bugtraq:message = issue %BUGID%
bugtraq:warnifnoissue = true

3.這時候使用者用TortoiseSVN commit時會要輸入issue編號,這是在mantis中的BUG編號
輸入完畢送出後,到http://XXX/mantis 網頁可以看到剛剛輸入的bug note
arrow
arrow
    全站熱搜

    roder0419 發表在 痞客邦 留言(0) 人氣()