C # SVN precommitir enganche, error SharpSvn

Tengo una aplicación de console C # que utilizo como SVN PreCommit Hook. La aplicación de la console se inicia perfectamente. Sin embargo, tan pronto como bash hacer una escritura usando SharpSvn, obtengo este error:

Commit failed (details follow): Commit blocked by pre-commit hook (exit code -1066598274) with output: Unhandled Exception: System.Runtime.InteropServices.SEHException: External component has thrown an exception. at svn_client_cat2(svn_stream_t* , SByte* , svn_opt_revision_t* , svn_opt_revision_t* , svn_client_ctx_t* , apr_pool_t* ) at SharpSvn.SvnClient.Write(SvnTarget target, Stream output, SvnWriteArgs args) at SharpSvn.SvnClient.Write(SvnTarget target, Stream output) at SvnPreCommitHook.Program.Main(String[] args) 

He intentado hacer el command svn.Write desde mi propia máquina, apuntando a svn: // svn-server en lugar de localhost, y eso funciona bien. Supongo que es algo en el server. TortoiseSVN está instalado, aunque no veo ningún menu contextual …

Mi código se ve así:

 private static EventLog _serviceEventLog; static void Main(string[] args) { _serviceEventLog = new EventLog(); if (!System.Diagnostics.EventLog.SourceExists("Svn Hooks")) { System.Diagnostics.EventLog.CreateEventSource("Svn Hooks", "Svn Hooks"); } _serviceEventLog.Source = "Svn Hooks"; _serviceEventLog.Log = "Svn Hooks"; SvnHookArguments ha; if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PreCommit, false, out ha)) { /*Console.Error.WriteLine("Invalid arguments"); Environment.Exit(1);*/ } using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoEventArgs ci; cl.GetChangeInfo(ha.LookOrigin, out ci); if (!ci.LogMessage.Equals("Svn Hook Test")) { AllowCommit(); return; } var checkoutDir = @"C:\SvnTemp\" + DateTime.Now.Ticks.ToString(); foreach (SvnChangeItem i in ci.ChangedPaths) { var checkoutFilepath = checkoutDir + "\\" + Path.GetFileName(i.Path); if (!Directory.Exists(checkoutDir)) { Directory.CreateDirectory(checkoutDir); } using (SvnClient svn = new SvnClient()) { using (StreamWriter sw = new StreamWriter(checkoutFilepath)) { svn.Write(SvnTarget.FromString("svn://localhost/" + i.RepositoryPath), sw.BaseStream); } } var fileContents = File.ReadAllText(checkoutFilepath); if (fileContents.Contains("Martin Normark")) { RemoveTempDirectory(checkoutDir); PreventCommit("Name is not allowed!"); } } RemoveTempDirectory(checkoutDir); } AllowCommit(); } 

Tal vez uno de los siguientes:

  • 64 bits frente a 32 bits
  • vcnetworkingist falta en el server