SVN 與 Mantis 整合

但是我更改了部分內容:
svn2mantis.pl 檔
 
#!/usr/bin/perl
$prgname = substr($0, rindex($0,"/")+1);
$ver = "1.11 (2008/4/30)";
# 讀取參數資料
$REPOS=$ARGV[0];
$REV=$ARGV[1];
# $sshcmd 設為空字串表示 SVN 與 Mantis 安裝在相同主機
$sshcmd = "";
## $sshcmd = defined($ARGV[2])?"/usr/bin/ssh ".$ARGV[2]:"";
# 第三個參數為由 svn 主機免密碼登入 Mantis 主機的 ssh 命令參數 Exp. jonathan@10.10.10.96 -> $sshcmd = "/usr/bin/ssh jonathan\@10.10.10.96";
# 定義外部指令
$svnlook = "export LANG=zh_TW.UTF-8;/usr/bin/svnlook";
$phpcmd = "/usr/bin/php";
## $checkincmd = "/var/www/html/mantis/core/checkin.php";
$checkincmd = "/var/www/html/mantis/scripts/checkin.php";
# 取得 svn 相關資訊
$auth=`$svnlook author -r $REV $REPOS`;
$dt=`$svnlook date -r $REV $REPOS`;
$changed=`$svnlook changed -r $REV $REPOS`;
$log=`$svnlook log -r $REV $REPOS`;
$msg="Changeset [".$REV."] by $auth\n$dt\n$log\n$changed";
# 傳送至 mantis
if (length($sshcmd)>0) {
 `$sshcmd $phpcmd -q $checkincmd <<< "$msg"`;
}
else {
 `$phpcmd -q $checkincmd <<< "$msg"`;
}
也加入了  /var/www/html/mantis/scripts/checkin.php 在第64行, 使得 mantis 的使用者帳號相同
 
        if ( preg_match_all( ‘/(?:mantislogin)\s*[:]{0,1}\s*(\w+)/i’, $t_line, $t_matches ) ) {
                $t_username = $t_matches[1][0];
                echo "$t_username\n";
        }
最後, /home/repository/Repository/hooks/post-commit
#!/bin/sh
REPOS="$1"
REV="$2"
/var/www/html/mantis/scripts/svn2mantis.pl "$REPOS" "$REV"
 
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s