【问题标题】:TortoiseSVN 1.7.7 can't commit to Subversion 1.7.5 but TortoiseSVN 1.6 can?TortoiseSVN 1.7.7 不能提交到 Subversion 1.7.5 但 TortoiseSVN 1.6 可以吗?
【发布时间】:2012-06-24 08:16:06
【问题描述】:

我试图在 Ubuntu 12.04 上设置一个新的 Subversion 存储库。也许很愚蠢,我使用 PPA repository 将 subversion 升级到 1.7.5。

现在,我无法使用 TortoiseSVN 1.7.7 执行提交

错误:提交失败(详情如下):
错误:服务器发送了意外的返回值(500 内部错误)以响应 POST
错误:请求 '/usvn/svn/TestThis/!svn/me'

我显然可以使用 TortoiseSVN 1.7.7 成功更新。
此外,使用 TortoiseSVN 1.6.x 我可以成功提交。 所以,这可能与 Subversion 1.7 中实现的新 HTTP 协议(​​冗余?)有关

apache 日志并没有为我提供太多启示。除了失败的客户端尝试 POST,而旧的工作客户端执行 PUT。我认为这是客户端版本之间的预期差异?

192.168.0.25 - admin [21/Jun/2012:20:23:22 -0500] "POST /usvn/svn/TestThis/!svn/me HTTP/1.1" 500 538 "-" "SVN/1.7.5/TortoiseSVN-1.7.7.22907 neon/0.29.6"

192.168.0.20 - admin [21/Jun/2012:17:26:22 -0500] "PUT /usvn/svn/TestThis/!svn/wrk/d8430d5f-d87b-5141-8828-e810dab0904f/trunk/piechart/History.txt HTTP/1.1" 201 591 "-" "SVN/1.6.15 (r1038135)/TortoiseSVN-1.6.12.20536 neon/0.29.5"

【问题讨论】:

  • 500 错误也会将一些内容写入 apache 错误日志。所以你也应该检查错误日志,而不仅仅是访问日志。
  • 不是真的,错误日志是我查看的第一个地方。即使将日志级别一直转为调试也不会产生额外的信息。有关我确实需要启用的额外日志记录,请参阅下面的评论。

标签: svn apache2 tortoisesvn


【解决方案1】:

因此,问题似乎在于路径被 apache 配置中的别名和有点像别名的 DAV svn“位置”的某种组合破坏了。 Mod_rewrite 弄乱了路径,因为 SVNParentPath 是别名的子目录。有点奇怪,为什么旧​​的 Tortoise 客户端仍然工作。据称 1.7 版中实现的 httpv2 协议改进了对重定向的处理。

无论如何,普通的 apache 日志在弄清楚这一点时几乎没有用,它们在这方面并不冗长,即使您将 loglevel 一路调试。启用重写日志是诊断的关键:(httpd.conf)

重写日志级别 3

RewriteLog "/var/log/apache2/rewrite.log"

【讨论】:

    【解决方案2】:

    取消选中自动调整访问权限...并重新检查...此选项在存储库属性的常规选项卡下可用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      • 2011-04-11
      • 2016-01-19
      • 1970-01-01
      相关资源
      最近更新 更多