5

SharpSVNを使用してコミット後のフックを作成しようとしていますが、リビジョン番号とリポジトリへのパスを指定して、SharpSVNを使用してチェンジセット情報を取得する方法を理解できません。どんなアイデアでも大歓迎です。

4

2 に答える 2

4

フック クライアントでは、リポジトリに直接アクセスする SvnLookClient を使用する可能性が最も高いでしょう。この例 (別の質問 here からコピー) では、フック引数を解析するために SvnHookArguments クラスも使用します。

static void Main(string[] args)
{
  SvnHookArguments ha;
  if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha))
  {
    Console.Error.WriteLine("Invalid arguments");
    Environment.Exit(1);
  }

  using (SvnLookClient cl = new SvnLookClient())
  {
    SvnChangeInfoEventArgs ci;
    cl.GetChangeInfo(ha.LookOrigin, out ci);

    // ci contains information on the commit e.g.
    Console.WriteLine(ci.LogMessage); // Has log message

    foreach(SvnChangeItem i in ci.ChangedPaths)
    {
       //
    }
  }
}
于 2009-08-09T21:25:17.357 に答える