我的钩子提交后模板调用我的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);
}
}
}
答案 0 :(得分:1)
错误在于我应该从模板创建BAT文件,而不是使用模板。模板什么都不做,它就是这样的:一个模板。 BAT文件由SVN运行,然后运行脚本。
更多信息:
http://svnbook.red-bean.com/en/1.5/svn.reposadmin.create.html#svn.reposadmin.create.hooks
答案 1 :(得分:0)
您可能遇到了权限问题。有一个示例说明如何使用凭据访问共享文件夹here。