SharpSVNとポストcommitフック内の特定のリビジョン番号の詳細をログ取得しますか?

StackOverflow https://stackoverflow.com/questions/1246263

  •  12-09-2019
  •  | 
  •  

質問

私はSharpSVNを使用して、ポストコミットフックを書くことをしようとしているが、リビジョン番号とレポへのパス指定したSharpSVNを使用してチェンジ情報を取得する方法を見つけ出すことはできません。任意のアイデアが高く評価されます。

役に立ちましたか?

解決

フッククライアントでは、最も可能性の高い直接リポジトリにアクセスSvnLookClientを使用します。 (ここでは別の質問からコピーされた)この例では、私はまた、フックの引数を解析するため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)
    {
       //
    }
  }
}

他のヒント

あなたは GETLOG の方法を望んでます。

SvnRevision rev(123);
client.GetLog(uri, new SvnLogArgs(rev), out logitems); // uri is your url to the repo.

それは正確ではないかもしれない(何もインテリセンス!どのように私は:(それなしでコードC#に期待していない)が、そのおおよそ何をしたい。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top