フックのポストコミット テンプレートは、postcommitlog.exe を呼び出して MyFile_LOG.txt を作成し、それに 3 つの引数を書き込みます。リポジトリとトランザクションは postcommit テンプレートから渡されます。
問題は、TurtoiseSVN でファイルをコミットした後、ログが作成されないことです。リポジトリにファイルを作成する権限がないか、コードにエラーがあるようです。
私のコードはローカルで動作します。デバッグしてランダムな引数を渡すと、ローカル マシンにログ ファイルが作成されます。しかし、SVNフックでは機能しません。
テンプレート
\\myserver\e$\Repositories\CONRAD\hooks\postcommitlog.exe %1 %2
私のプログラム
using System;
using System.IO;
namespace postcommitlog
{
internal class Program
{
private static void Main(string[] args)
{
string repositories = args[0];
string transaction = args[1];
const string LOG_PATH = @"\\myserver\e$\Repositories\CONRAD\hooks\MyFile_LOG.txt";
FileInfo fileInfo = new FileInfo(LOG_PATH);
File.AppendAllText(LOG_PATH, "Repositories " + args[0]
+ "\t Transaction " + args[1] + "\t Date " + DateTime.Now.ToString("MMM ddd d HH:mm yyyy") + Environment.NewLine);
}
}
}