SVN更新由于奇怪的字符,无法解析URL

时间:2014-05-29 19:39:02

标签: svn

当我在命令行执行svn更新时收到以下消息:

svn: Unable to parse URL '/svn/hvcp/!svn/bc/3678/trunk/media/mechanicârail_4.pdf'

这就是发生的事情:

  1. 意外保存了名称中有奇怪字符(â)的文件
  2. 使用TortoiseSVN在我的桌面上对SVN中的文件进行了重命名,这似乎成功了
  3. 然后尝试从我们的开发服务器进行svn更新并继续收到上述消息。当我在桌面上吹掉文件并使用TortoiseSVN在桌面上进行svn更新时,它可以正常工作,没有任何消息。
  4. 它在/ bc / 3678 / trunk的路径中看起来像3678是该文件重命名时的修订号。

    CentOS版本6.3上的SVN 软件版本4.0.4-3784.127 Subversion版本1.8.5-3784.127

    有关如何解决此问题的任何想法?

    由于

3 个答案:

答案 0 :(得分:1)

SVN使用UTF8编码。我认为文件名是可以的。

也许客户端svn版本太低而无法正确处理文件名?

当我使用版本1.6的svn客户端和版本1.8的svn服务器时,我遇到了类似的问题。

升级svn客户端后,没关系。

答案 1 :(得分:1)

在以下情况下会出现此问题:

  • 您正在使用SVN 1.6客户端或更早版本
  • 您正在通过http或https
  • 访问服务器存储库
  • 存储库由Apache 2.2.27或2.4.8
  • 提供
  • 您正在直接访问存储库文件,其中包含需要百分比编码的字符(ASCII字母数字和一些标点符号以外的任何字符)

根本原因是Apache bug 56480。 SVN客户端对资源执行PROPFIND,并返回具有无效URL编码的XML响应。 SVN客户端1.7及更高版本可以应对这种情况,但不能处理SVN客户端1.6及更早版本。

要解决此问题,请将服务器升级到至少Apache 2.2.28或2.4.9(修复该错误),或将客户端升级到至少SVN 1.7(可以解决该问题)

答案 2 :(得分:0)

当SVN 1.3客户端与SVN 1.8服务器一起使用时,我在路径中只看到了这个问题。

升级客户端修复了问题。