1

ASP,net 3.5 で構築されたカスタム プロジェクト管理ツールがあり、バージョン管理には VisualSVN を使用しています。ただし、VisualSVN をプロジェクト管理ツールと統合することで、プロジェクト管理ツールを通じてバージョンの変更を報告する方法を探しています。つまり、Trac [python ベースの SCM ツール] が提供するものとほとんど同じです。

基本的に、提供されたリビジョン セットに基づいてファイルの変更を検出および報告できるシンプルな VisualSVN クライアント API を探しています。

4

3 に答える 3

3

Subversion 1.5 クライアント API 全体をカプセル化するSharpSvnもあります。Apache 2.0 ライセンスの下でライセンスされており、CollabNet から提供されています。

于 2008-11-14T08:55:19.680 に答える
0

Svn.NETを確認してください。現在、Subversion クライアント システム ライブラリの .NET バインディングに最適なソリューションだと思います。

于 2008-11-14T07:56:39.753 に答える
0

スクリプト作成に満足している場合は、変更やリポジトリの変更に関するレポートを提供するツールである svnlook を使用できます。

すべてのファイルの変更をバグトラッカーに送信するポストコミット フックで使用して、リビジョン番号を指定してどのファイルが変更されたかを表示できるようにします。ログに特定のテキストを追加すると、それをピックアップして、データを関連付けるバグがわかります。

編集、要求に応じて、この perl スクリプトはコミット後のフックから呼び出されます。

$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 . "---\nSVN Revision: " . $ARGV[1];
$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;

これは、curl 経由で Mantis に送信される postcommit_mantis.txt ファイルに書き込みます。

d:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://<server>/mantis/core/checkincurl.php
于 2009-05-05T23:40:20.367 に答える