SvnLook 클라이언트는 리포지토리 후크를 사용하기 위해 특별히 타겟팅됩니다. 그것은 커밋되지 않은 개정판에 대한 액세스를 허용하므로 다른 인수가 필요합니다. (이것은 'svnlook'명령과 동일한 SharpSvn입니다. 'svn'이 필요하면 SvnClient를 살펴보십시오.) * 리포지토리 경로 및 트랜잭션 이름 * 또는 저장소 경로 및 개정 번호
일예 :
봐 기원 중 하나입니다 사전 커밋 훅 (pre-commit hook)에서 개정판은 아직 커밋되지 않았으므로 평상시처럼 공개 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과 마찬가지로) 저장소 훅에서 사용하도록 설계되었습니다. –