SvnLookクライアントは、特にリポジトリフックを使用するためにターゲット設定されています。コミットされていないリビジョンにアクセスすることができるため、他の引数が必要です。 (これは 'svnlook'コマンドのSharpSvnに相当します。 'svn'と同等のものが必要な場合は、SvnClientを参照してください)。
ルック起源のいずれかである:例えば *リポジトリパスおよびトランザクション名 *またはリポジトリのパスとリビジョン番号
プリコミットフックでは、リビジョンはまだコミットされていないので、通常通りに公開URLでアクセスすることはできません。
ドキュメントは(事前commit.tmplに)言う:
# The pre-commit hook is invoked before a Subversion txn is
# committed. Subversion runs this hook by invoking a program
# (script, executable, binary, etc.) named 'pre-commit' (for which
# this file is a template), with the following ordered arguments:
#
# [1] REPOS-PATH (the path to this repository)
# [2] TXN-NAME (the name of the txn about to be committed)
SharpSvnを提供することにより、次のことに役立ちます。
あなたのためにこれらの引数を解析し
SvnHookArguments ha;
if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha))
{
Console.Error.WriteLine("Invalid arguments");
Environment.Exit(1);
}
。 (この場合は非常に単純ですが、より高度なフックがあります。そして、フックは新しいSubversionバージョンで新しい引数を受け取ることができます)。必要な値は、haの.LookOriginプロパティにあります。
特定のリビジョン範囲(1234-4567)のログメッセージを表示したい場合は、SvnLookClientを参照しないでください。
using(SvnClient cl = new SvnClient())
{
SvnLogArgs la = new SvnLogArgs();
Collection<SvnLogEventArgs> col;
la.Start = 1234;
la.End = 4567;
cl.GetLog(new Uri("http://svn.collab.net/repos/svn"), la, out col))
}
SvnLookClientは 'svnlook'アプリケーションに相当するライブラリです。このクラスは、(svnlookと同様に)リポジトリフックから使用するように設計されています。 –