SVN";PROPFIND请求在…上失败;

SVN";PROPFIND请求在…上失败;,svn,Svn,我正在从SVN签出一个存储库(比如foo),同时执行一些其他提交/更新。我的服务器死机了,我的结账不完整。好的问题是当我返回访问foo存储库时,我无法访问。它永远挂着 因此,我转到并运行了svnadmin recover。我收到一个错误,所以我不得不使用db_recover,命令说它成功完成了 现在,当我尝试访问存储库时,我得到: svn: PROPFIND request failed on '/foo' svn: PROPFIND of '/foo': 500 Internal Server

我正在从SVN签出一个存储库(比如foo),同时执行一些其他提交/更新。我的服务器死机了,我的结账不完整。好的问题是当我返回访问foo存储库时,我无法访问。它永远挂着

因此,我转到并运行了
svnadmin recover
。我收到一个错误,所以我不得不使用db_recover,命令说它成功完成了

现在,当我尝试访问存储库时,我得到:

svn: PROPFIND request failed on '/foo'
svn: PROPFIND of '/foo': 500 Internal Server Error (https://svn.foobar.com)
此外,如果导航到,我会看到:


无法打开请求的SVN文件系统
有人有什么想法吗


注意:所有其他存储库都可以工作。仅此而已。

您是否以用户通常使用存储库(例如apache帐户)的方式运行了“svnadmin recover”


如果不是,原因可能是某些文件现在由运行“svnadmin recover”的用户所有,而apache帐户没有更改存储库文件的权限。

我遇到此propfind错误,因为电源中断,我忘记重新启动svnserve和apache实例=)

在我的情况下,我需要一个不同的协议:

svn co svn+ssh://svn.xyz.com/directory

如果具体的错误消息是“文件的结尾”。。。httpd的错误日志显示:

[error] PHP Parse error:  syntax error, unexpected T_STRING in /var/www/repos/...
但是没有语法错误

似乎.php文件被解释而不是作为文本处理-显然与MIME类型配置有关

答案很简单:

AddType text/plain .php
只要将其添加到虚拟主机配置文件中,apache2就会停止在该存储库中解释PHP。

如果您是通过HTTP设置SVN服务器的人,这可能只是Apache服务器说它不理解PROPFIND

在我的例子中,当我在apachehttpd配置中设置一个“Location”时发生了这种情况,不指定它为SVN WebDAV实现(SVN mod是WebDAV上的一个扩展):


SVNParentPath/data/scm/repositories/
SVNPathAuthz关闭
AuthType Basic
AuthName“xxxxx”
AuthBasicProvider ldap
AuthLDAPURLldap://xxx.yy:389/DC=aaaa,DC=bbbbbb?sAMAccountName?sub
需要有效用户
与此相反:

 <Location /svn>
   DAV svn
   SVNParentPath /data/scm/repositories/
   SVNPathAuthz off
   AuthType Basic
   AuthName "xxxxx"
   AuthBasicProvider ldap
   AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub
   Require valid-user
 </Location>

DAV svn
SVNParentPath/data/scm/repositories/
SVNPathAuthz关闭
AuthType Basic
AuthName“xxxxx”
AuthBasicProvider ldap
AuthLDAPURLldap://xxx.yy:389/DC=aaaa,DC=bbbbbb?sAMAccountName?sub
需要有效用户

在我找到它之后,这似乎是一个逻辑错误,但我花了相当长的时间才找到错误…

有时安装的不同Java版本可能会导致Eclipse SVN插件(我的case Subversive 1.7)无法工作

我使用了JVM1.6,但我的环境路径指向了一个更新的版本(由于安装了OracleJavaWebStart或其他东西)


因此,我重新选择了旧的Java 1.6版本,它成功了。

在我的例子中,我可以将“commit to”值从一个“”改为一个file:///F:/Repositories/project“


更改HTTPS端口后,它开始失败,因为我在本地主机IIS中安装了一个证书,并且它与SVN Apache服务器冲突。

在这种情况下,简单的chown Apache.Apache-R/path/to/repos应该可以纠正问题…svnadmin recover的错误是什么?
  <Location /svn>
       SVNParentPath /data/scm/repositories/
       SVNPathAuthz off
       AuthType Basic
       AuthName "xxxxx"
       AuthBasicProvider ldap
       AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub
       Require valid-user
   </Location>
 <Location /svn>
   DAV svn
   SVNParentPath /data/scm/repositories/
   SVNPathAuthz off
   AuthType Basic
   AuthName "xxxxx"
   AuthBasicProvider ldap
   AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub
   Require valid-user
 </Location>