主に Windows 開発を行っています。開発にはMantisとSubversionを使用していますが、これらは統合されておらず、実際には別のサーバー上にあります。
2つを統合することについて少しグーグルで調べたところ、この投稿に出くわしました。面白そうでした。
誰かがこれを行っているか、これを行ったことがあるか、そしてあなたの経験はどうだったのだろうかと思っていました. 別の解決策がある場合は、それも知りたいです。
ありがとう!
主に Windows 開発を行っています。開発にはMantisとSubversionを使用していますが、これらは統合されておらず、実際には別のサーバー上にあります。
2つを統合することについて少しグーグルで調べたところ、この投稿に出くわしました。面白そうでした。
誰かがこれを行っているか、これを行ったことがあるか、そしてあなたの経験はどうだったのだろうかと思っていました. 別の解決策がある場合は、それも知りたいです。
ありがとう!
私はSVNでMantisを使用しています。そのリンクが言うように、コミットメッセージが関連していない場合にバグを更新しようとしないように正規表現をポストコミットに配置しましたが、これにより、バグを更新しないコミットの応答がわずかに速くなります。
私のMantisのインストールも別のサーバーにあります。私はcurlを使用してMantis1.1.6のphpメソッドを呼び出します。
これをpost-commit.cmdフックに入れます(イチゴのperlをダウンロードし、そこからperl.exeとperl510.dllを取得する必要があります。残りは必要ありません)
c:\tools\perl c:\tools\mantis_urlencode.pl %1 %2 > c:\temp\postcommit_mantis.txt
if %ERRORLEVEL% NEQ 0 exit /b 0
c:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://swi-sgi-l-web1.ingrnet.com/mantis/core/checkincurl.php
そしてこれをmantis_urlencode.plに入れてください
$url = `svnlook log -r $ARGV[1] $ARGV[0]`;
# check the string contains the matching regexp,
# quit if it doesn't so we don't waste time contacting the webserver
# this is the g_source_control_regexp value in mantis.
exit 1 if not $url =~ /\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i;
$url = $url . "\n" . `svnlook dirs-changed -r $ARGV[1] $ARGV[0]`;
#urlencode the string
$url =~ s/([^\w\-\.\@])/$1 eq " "?"+": sprintf("%%%2.2x",ord($1))/eg;
print "log=$url";
exit 0;
VSSから移行する場合は、codeplexで作成したスクリプトを含め、多数のスクリプトがあります。
それはすべてうまく機能し、私たちは常にそれを使用し、そこに気付かないほど迅速です。「FixedMantis#1234」と入力するだけで、バグが解決され、バグノートが追加されます。このスクリプトは、変更されたディレクトリもバグノートに追加します(変更されたファイルを表示しようとしましたが、多すぎると理解しにくくなります)
SVNをBugzillaにリンクするために、かなり長い間scmbugを使用してきました。最近Bugzilla3.2にアップグレードするまでは非常にうまく機能し、統合が壊れました。SCMツールの新しいリリースがリリースされたときにscmbugチームが追いつくまでには少し時間がかかりますが、これは理解できることです。
これが、使用する Subversion コミット後のスクリプトです。元の投稿のこのリンクで提案されているように、PHP を使用して Mantis チェックイン PHP スクリプトを実行します。
scmbugに出会いました。Mantis のようなものを Subversion のようなものに接続するようです。
リンクの手順に従いました。唯一の違いは、Windows では代わりに post-commit.bat があることです。下にスクロールすると、誰かがサンプルを投稿します。これを変更して、変更されたファイルと変更者をログに記録するようにしました。これは、バッチ ファイルに対するかなり簡単なハックです。ある時点で差分を含めようとしましたが、いくつかのチェックインのサイズのために、それを行うのは悪い考えであることがすぐに明らかになりました。
それは本当にうまく機能し、私は本当に満足しています.
私は個人的に、VisualSVN サーバーと公開の Mantis バグ トラッカーを使用して、ローカル開発環境でプライベート SVN リポジトリを使用しています。Web サーバーからの呼び出しを処理するために、checkin.php ファイルを少し変更する必要がありました (この Web ページの助けを借りて: http://www.mantisbt.org/bugs/view.php?id=8847 ) 。
バッチ ファイルの代わりにこれを処理する短い C# コンソール アプリケーションを作成したので、より構成しやすく、リモートまたはローカルの checkin.php ファイルをサポートします。
興味があれば、これに関する記事をソース コードとともにブログに投稿しました: http://mp4m.org/blog/svn-and-mantis-bug-tracker-integration/
それが役立つことを願っています!