Subversion Commit问题:XML数据格式不正确

时间:2008-11-22 01:37:46

标签: svn apache commit webdav

我遇到了SVN的奇怪行为。 我使用mod_dav,mod_dav_svn和SVN 1.5.2在Apache 2.2.9上运行SVN存储库。 当我尝试检出(从远程1.5.4客户端或服务器本地1.5.2客户端 - 两个“默认”svn二进制文件),我得到类似的东西:

mx-mac:测试mx $ svn ci -m“” 添加test.txt svn:提交失败(详情如下): svn:XML数据格式不正确

我通过嗅探HTTP连接发现,对远程SVN存储库(Apache)的一个请求以“按对等方重置”结束而不返回响应(使用HTTP Scoop来嗅探)。

对于Apache的配置,所有模块都被加载。为repo设置了正确的权限,repo由svnadmin create创建,然后对apache用户进行了限制(无论如何,即使我有chmod -R 777 repo目录它也没有用。)

Apache配置包含DAV和SVNPath指令以及身份验证。

经过几个小时的努力,我非常绝望,所以如果有人遇到过这样的问题,请告诉我。非常感谢!

6 个答案:

答案 0 :(得分:3)

最后,我发现在.htaccess文件中重新定义了与SVN相同的VirtualHost的ErrorDocument,导致无效数据在某些情况下被发送到SVN客户端,并且出于某种原因拦截了提交过程。

答案 1 :(得分:1)

虽然从理论上讲,弄清楚这样的问题会很有教育意义,生命太短暂而且我已经是其他事情的专家,为此我需要付钱才能成为专家,所以我对所有svn的后备解决方案问题是:在工作副本之外,在其他地方创建一个新目录,对存储库中的任何分支进行新的检查,然后通过从混乱的结帐中复制来手动更新您知道已更改的文件。

至于阿帕奇,我敢打赌它没有任何麻烦。失败的提交几乎总是由于与存储库的连接之外的其他东西。 (假设没有人正在修补apache或svn服务器。)不能保证,但尝试新文件检查和手动复制文件可能只是工作,或至少揭示新的诊断信息。

答案 2 :(得分:0)

达伦,你现在不完全正确。我已经尝试了所有可能的工作副本,新存储库等组合。我已经尝试过一切。最后,我在NEON调试消息中发现了一条奇怪的消息,在主页上显示我的404页面,我大多都忘记了。然后,我意识到 - 就像很久以前创建的那样 - 我从404页面(200而不是404)发送了不正确的HTTP状态代码,因此NEON认为它输出正确并进行处理,使其处于某种不正确的状态。

所以,现在它是apache问题,由愚蠢的Web开发人员引起 - 我在2003年......:)

答案 3 :(得分:0)

我发现这是因为没有使用正确的网址来检查内容。 当我输入结帐命令时,我正在使用网络服务器提供的网址,例如“svn co http://blah.com/stuff_in_here/contents” 然后我玩了url,直到找到了我可以在命令行中使用的真正的svn位置,例如 “http://blah.com/ SVN /内容”

答案 4 :(得分:0)

这也困扰着我。我通过删除我的工作区并再次检查它来解决它。

答案 5 :(得分:0)

我收到了同样的错误消息:

  

svn:提交失败(详情如下):svn:XML数据格式不正确

原因是:SVN-Repository上的驱动器已满。 更多的磁盘空间和问题得到了解决。