VisualSVN和OrtoiseSVN在提交C#代码文件时出错400

VisualSVN和OrtoiseSVN在提交C#代码文件时出错400,c#,svn,tortoisesvn,visualsvn,C#,Svn,Tortoisesvn,Visualsvn,我已经在办公室局域网上安装了一台Subversion机器。Subversion由Apache提供服务 然后我启动了一个Java项目,并从CVS(所有Java项目!)执行了一些迁移。它运行得很好,我可以清楚地使用Subversive使用Eclipse中的SVN 然后我开始了我们的第一个C#项目。在将其提交到Subversion时,当Tortoise(由VisualSVN驱动或使用单机版)尝试上载.cs文件时,我总是会收到400错误 陆龟VN版本信息(截至今天,它是最新的): 这是陆龟日志(部分本地

我已经在办公室局域网上安装了一台Subversion机器。Subversion由Apache提供服务

然后我启动了一个Java项目,并从CVS(所有Java项目!)执行了一些迁移。它运行得很好,我可以清楚地使用Subversive使用Eclipse中的SVN

然后我开始了我们的第一个C#项目。在将其提交到Subversion时,当Tortoise(由VisualSVN驱动或使用单机版)尝试上载
.cs
文件时,我总是会收到400错误

陆龟VN版本信息(截至今天,它是最新的):

这是陆龟日志(部分本地化):

下面是Apache配置

default-server.conf

<Location /svnroot/repo>
  DAV svn
  SVNPath /srv/svn/repos/repo
  SVNAutoversioning On
  # Repository Display Name
  SVNReposName "SVN Repository"

  #SecFilterEngine off

  #Authorization
  # Do basic password authentication in the clear
  AuthType Basic

  # The name of the protected area or "realm"
  AuthName "CompanyName"

  # Make LDAP the authentication mechanism
  AuthBasicProvider ldap

  # Active Directory requires an authenticating DN to access records
  AuthLDAPBindDN []

  # This is the password for the AuthLDAPBindDN user in Active Directory
  AuthLDAPBindPassword []

  # The LDAP query URL
  AuthLDAPURL []

# Require a valid user
  Require valid-user
  AuthUserFile /dev/null

  allow from all
</Location>
我没有在错误日志中显示错误

我注意到,如果出于某种原因,乌龟以不同的顺序提交文件,那么只有第一个
.cs
会引起问题。我还没有实现任何过滤器钩子脚本


如何解决此问题?

标准的
default server.conf
包含以下指令(以及注释):

在我的openSUSE 13.1安装中,Apache附带了Mono。虽然
mod_mono
未加载到
/etc/sysconfig/apache2
a2dismod mono
命令),但
/etc/apache2/mod_mono.conf
始终加载mono运行时并将
.cs
文件关联到mono

现在,当我提交扩展名为
.cs
的C#代码文件时,Apache默认允许Mono处理这些请求,这最终会导致以下异常,只有使用Wireshark才能捕获这些异常:

[System.ArgumentException]: Directory does not exists
Parameter name: value

  at System.IO.FileSystemWatcher.set_Path (System.String value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.IO.FileSystemWatcher:set_Path (string)
  at System.Web.HttpRuntime.SetupOfflineWatch () [0x00000] in <filename unknown>:0 
  at System.Web.HttpRuntime.Process (System.Web.HttpWorkerRequest req) [0x00000] in <filename unknown>:0 
  at System.Web.HttpRuntime.RealProcessRequest (System.Object o) [0x00000] in <filename unknown>:0 
  at System.Web.HttpRuntime.ProcessRequest (System.Web.HttpWorkerRequest wr) [0x00000] in <filename unknown>:0 
  at Mono.WebServer.MonoWorkerRequest.ProcessRequest () [0x00000] in <filename unknown>:0 
[System.ArgumentException]:目录不存在
参数名称:value
在System.IO.FileSystemWatcher.set_路径(System.String值)[0x00000]中:0
at(wrapper remoting invoke with check)System.IO.FileSystemWatcher:set_Path(字符串)
位于:0中的System.Web.HttpRuntime.SetupOfflineWatch()[0x00000]处
在System.Web.HttpRuntime.Process(System.Web.HttpWorkerRequest请求)[0x00000]中:0
位于:0中的System.Web.HttpRuntime.RealProcessRequest(System.Object o)[0x00000]处
在:0中的System.Web.HttpRuntime.ProcessRequest(System.Web.HttpWorkerRequest wr)[0x00000]处
位于:0中的Mono.WebServer.monowerRequest.ProcessRequest()[0x00000]处
Subversion请求中的ASP.NET异常闻起来很难闻,足以让我进行调查

最终
我只是简单地注释掉了上面的Apache指令,并毫无问题地提交了。

OrtoiseSVN中错误消息的确切措辞是什么?Subversion服务器和您的计算机之间是否有代理服务器?例如,IIS充当反向代理?我刚刚用TSVN错误更新了问题。服务器在局域网内。虽然我们的局域网上有一个透明的代理,但它目前不应该用于局域网传输。而且,即使代理操纵请求,这些请求也会到达Apache服务器,因为我可以在那里找到日志。找到一个提示:Wireshark报告错误页是由Mono生成的。可能存在不一致的配置,因此Apache不使用DAV处理程序,而是使用Mono处理程序for.cs文件。单声道模块未加载,但可能某些配置已加载
<Location /svnroot/repo>
  DAV svn
  SVNPath /srv/svn/repos/repo
  SVNAutoversioning On
  # Repository Display Name
  SVNReposName "SVN Repository"

  #SecFilterEngine off

  #Authorization
  # Do basic password authentication in the clear
  AuthType Basic

  # The name of the protected area or "realm"
  AuthName "CompanyName"

  # Make LDAP the authentication mechanism
  AuthBasicProvider ldap

  # Active Directory requires an authenticating DN to access records
  AuthLDAPBindDN []

  # This is the password for the AuthLDAPBindDN user in Active Directory
  AuthLDAPBindPassword []

  # The LDAP query URL
  AuthLDAPURL []

# Require a valid user
  Require valid-user
  AuthUserFile /dev/null

  allow from all
</Location>
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "MKCOL /svnroot/cst/!svn/txr/21-w/path/to/project/XsdValidationService HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "MKCOL /svnroot/cst/!svn/txr/21-w/path/to/projectProperties HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "MKCOL /svnroot/cst/!svn/txr/21-w/path/to/projectSchemas HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PROPPATCH /svnroot/cst/!svn/txr/21-w/path/to/project/XsdValidationService HTTP/1.1" 207 491 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PROPPATCH /svnroot/cst/!svn/txr/21-w/path/to/project HTTP/1.1" 207 470 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PUT /svnroot/cst/!svn/txr/21-w/path/to/project/EDWin.sln HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PUT /svnroot/cst/!svn/txr/21-w/path/to/projectSchemas/ED-AUTO-1-0.xsd HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PUT /svnroot/cst/!svn/txr/21-w/path/to/projectSchemas/ED-ACC-SME-1-0.xsd HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PUT /svnroot/cst/!svn/txr/21-w/path/to/projectSchemas/ED-RMBS-1-7.xsd HTTP/1.1" 201 71 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:09 +0100] "PUT /svnroot/cst/!svn/txr/21-w/path/to/projectXmlValidationResult.cs HTTP/1.1" 400 5268 "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
192.168.0.167 - [USERNAME] [07/Mar/2014:17:20:10 +0100] "DELETE /svnroot/cst/!svn/txn/21-w HTTP/1.1" 204 - "-" "SVN/1.8.8 (x64-microsoft-windows) serf/1.3.4 TortoiseSVN-1.8.5.25224"
# Include all *.conf files from /etc/apache2/conf.d/.
#
# This is mostly meant as a place for other RPM packages to drop in their
# configuration snippet.
# 
# You can comment this out here if you want those bits include only in a
# certain virtual host, but not here.
#
IncludeOptional /etc/apache2/conf.d/*.conf
[System.ArgumentException]: Directory does not exists
Parameter name: value

  at System.IO.FileSystemWatcher.set_Path (System.String value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.IO.FileSystemWatcher:set_Path (string)
  at System.Web.HttpRuntime.SetupOfflineWatch () [0x00000] in <filename unknown>:0 
  at System.Web.HttpRuntime.Process (System.Web.HttpWorkerRequest req) [0x00000] in <filename unknown>:0 
  at System.Web.HttpRuntime.RealProcessRequest (System.Object o) [0x00000] in <filename unknown>:0 
  at System.Web.HttpRuntime.ProcessRequest (System.Web.HttpWorkerRequest wr) [0x00000] in <filename unknown>:0 
  at Mono.WebServer.MonoWorkerRequest.ProcessRequest () [0x00000] in <filename unknown>:0