【发布时间】:2014-04-10 22:00:03
【问题描述】:
我已经在我们的办公室局域网中设置了一台 Subversion 机器。 Subversion 由 Apache 提供。
然后我开始了一个 Java 项目并从 CVS 执行了一些迁移(所有 Java 项目!)。一切都运行良好,我可以使用 Subversive 清楚地使用来自 Eclipse 的 SVN。
然后我开始了我们的第一个 C# 项目。将其提交到 Subversion 时,当 Tortoise(由 VisualSVN 驱动或独立使用)尝试上传 .cs 文件时,我总是收到 400 错误
TortoiseSVN 版本信息(截至今日,为最新版本):
TortoiseSVN 1.8.5, Build 25224 - 64 Bit , 2014/02/18 20:05:11↩⏎
Subversion 1.8.8, -release↩⏎
apr 1.5.0↩⏎
apr-util 1.5.3↩⏎
serf 1.3.4↩⏎
OpenSSL 1.0.1f 6 Jan 2014↩⏎
zlib 1.2.8
这里是 TortoiseSVN 日志(部分本地化):
Errore: Commit fallito (seguono dettagli):
Errore: Unexpected HTTP status 400 'Bad request' on
Errore: '/svnroot/cst/!svn/txr/21-y/path/to/trunk/XsdValidationService/XmlValidationResult.cs'
Errore: Additional errors:
Errore: PUT of
Errore: '/svnroot/cst/!svn/txr/21-y/path/to/trunk/XsdValidationService/XmlValidationResult.cs':
Errore: 400 Bad request
这里是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>
这是 Apache 访问日志
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"
错误日志中没有显示错误。
我注意到如果 Tortoise 出于某种原因以不同的顺序提交文件,则只有第一个 .cs 会引起麻烦。我还没有实现任何过滤器挂钩脚本。
我该如何解决这个问题?
【问题讨论】:
-
TortoiseSVN 中错误信息的确切措辞是什么? Subversion 服务器和你的机器之间有代理服务器吗?例如。 IIS 充当反向代理?
-
我刚刚用 TSVN 错误更新了这个问题。服务器在局域网中。虽然我们的 LAN 上有一个透明代理,但它目前不应该用于 LAN 传输。
-
而且,即使代理操纵请求,这些请求也会到达 Apache 服务器,因为我可以在那里找到日志。
-
发现提示:Wireshark报错页面是Mono生成的。可能存在不一致的配置,因此 Apache 不使用 DAV 处理程序,而是将 Mono 处理程序用于 .cs 文件。 Mono 模块未加载,但可能是某些配置
标签: c# svn tortoisesvn visualsvn