无法提交到SVN服务器

时间:2011-10-26 21:21:44

标签: svn tortoisesvn visualsvn-server

当我提交服务器时,它返回:

  

POST请求在响应中返回了无效的XML:第z行的XML解析错误   3:格式不正确(令牌无效)(/ s​​vn / site /!svn / me)

我使用的是VisualSVN Server 2.5.1,客户端是TortoiseSVN 1.7.1 64位。

服务器本身正在运行,我可以从存储库更新或浏览。

有什么建议吗?

10 个答案:

答案 0 :(得分:8)

检查服务器的磁盘空间。它可能真的很低。一旦你解除了一些它应该工作。

修改:参考= http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2858308

第二次编辑:另一个建议是备份文件,删除有问题的目录,更新,恢复更改,然后提交。

另一篇文章(http://osdir.com/ml/version-control.subversion.tortoisesvn.devel/2005-03/msg00140.html)讨论了编辑SVN条目文件。

答案 1 :(得分:4)

我在Windows 2k8上运行VisualSVN Server 2.5。最近我升级了我的服务器并使用Acronis Backup将服务器的当前状态转移到新机器中的新SSD阵列。一切顺利,但当我试图将一些文件提交到这个盒子上的一个repos时,我得到了一个非常奇怪的错误:

  

POST请求在响应中返回了无效的XML:第3行的XML解析错误:格式不正确(无效令牌)(/ s​​vn / repo-name /!svn / me)

事实证明,根据我的具体情况,这是一个允许的问题。花了一个半小时后,我终于找到了一个“为我工作”的简单解决方案。百万美元修复?

  1. 打开VisualSVN服务器GUI。

  2. 右键单击左侧导航窗格根目录下的“VisualSVN Server(域)”,然后选择“属性”。

  3. 在“常规”选项卡下,您将看到“自动调整权限”复选框。

    一个。如果选中,请选中它并单击“应用”。这将停止并重新启动VisualSVN服务,并应该解决问题。

    B中。如果选中此项,请取消选中并单击“应用”。这将停止并重新启动Visual SVN服务。完成后,重新检查该选项并再次单击“应用”。重新启动服务后,现在应该解决该问题。

  4. 我希望这可以帮助有需要的人!

答案 2 :(得分:4)

我们遇到了类似的问题,但是在Linux上使用Apache HTTPd服务器。 TortoiseSVN 1.6在XP / 32上运行正常。 Win7 / 64上的ToroiseSVN 1.7可以结账,但无法提交;它返回错误 / svn /!svn / me path not found 。解决方案:为svn。

的httpd.conf部分添加了一个缺少的“别名”指令

具有新别名指令的正确运行的httpd.conf部分如下所示:

alias /svn /srv/svn/repos
<Location /svn>
  DAV svn
  SVNPath /srv/svn/repos
  AuthType Basic
  AuthUserFile /path/to/.htpasswd
  Require valid-user
</Location>

答案 3 :(得分:2)

我有完全相同的问题。当我使用乌龟1.6时,我收到了更好的错误消息,表明访问被拒绝。将我的服务器上的访问权限修复到存储库修复了我的问题。

答案 4 :(得分:2)

错误有两个可能的原因:

  1. 运行VisualSVN Server的服务帐户无权访问

    • C:\Repositories\<repo>\和/或
    • C:\Repositories\<repo>\db\
    • C:\Repositories\<repo>\db\transactions\
    • C:\Repositories\<repo>\db\txn-protorevs\
  2. C:\Repositories\<repo>\db\下的部分文件夹丢失了。例如。相同的

    • C:\Repositories\<repo>\db\transactions\
    • C:\Repositories\<repo>\db\txn-protorevs\

答案 5 :(得分:1)

您可以使用Fiddler2作为代理,并检查XML请求/响应。也许这会让你继续下去。 看起来TortoiseSVN不使用WinInet,因此代理不会是自动的。您需要在Tortoise的网络面板中设置代理。例如:localhost端口8888.然后你会看到数据到达Fiddler。关闭浏览器和东西,这样你就不会有混乱。现在看看你是否可以做一些简单的事情,比如查看日志或提交一些小改动。您应该看到数据包,然后您可以使用右侧面板上的“检查器”来查看XML(使用XML或RAW选项卡)。

答案 6 :(得分:1)

还要确保您没有删除存储库中的以下目录。

  • ... /分贝/交易
  • ... /分贝/ TXN-protorevs

如果有,只需重新创建它们即可。它们通常是空目录。


我在一个有效的存储库上遇到了这个问题。我查了一下&amp;修改了早期帖子中建议的权限,但没有帮助。

发生什么事了?我愚蠢地运行了一个删除空目录的程序。我不得不创建一个新的存储库&amp;在意识到我的错误之前,先对目录结构进行比较。

答案 7 :(得分:0)

如果您使用Tortoise SVN客户端:这是您实际客​​户端上的身份验证问题,并且与您在服务器或其他任何方面的读/写权限无关。

右键单击您的工作文件夹(副本) - &gt; TortoiseSVN - &gt; SVN设置 - &gt;保存的数据 - &gt;验证数据并单击全部清除。

我有一个类似的问题,在重新设置我保存的身份验证数据后,我能够提交并更新没有probs。

欢呼声。

答案 8 :(得分:-1)

当我从另一台计算机备份我的svndb时,我无法提交并且tsvn返回相同的错误“POST请求在响应中返回了无效的XML ...” 我发现“YOURsvnDB \ db \ txn-current”文件与我的旧svndb不同,恢复后,提交效果很好

答案 9 :(得分:-2)

您好如果使用httpd作为代理,可能是导致该问题的svn存储库的所有权。应该是

drwxr-xr-x   apache apache   svnrepository

请确保配置类似于subversion.conf

enter image description here