【问题标题】:Is it possible to get svn client debug output?是否可以获得 svn 客户端调试输出?
【发布时间】:2011-12-07 14:31:39
【问题描述】:

我希望在 svn 客户端中启用极其详细的日志记录输出,专门用于解决拙劣的合并任务。

我目前面临的问题是从主干合并到我的功能分支没有带来新的变化,但是两个 HEAD 的差异揭示了出色的未合并工作。

通常我认为这意味着 mergeinfo 已经搞砸了,或者项目目录结构中有一些更深的 mergeinfo 导致了问题。但是在这种情况下,我已经清理了所有的 mergeinfo 属性并手动确保功能分支的 mergeinfo 的根不包含我试图合并的主干头部的修订。

对于这个任务和其他任务,我希望能够启用一个 SVN 调试日志,它会向我显示如下内容:

  • 尝试将修订版 XXX 从 https:.... 合并到工作副本
    • 已跳过,已合并
  • 正在尝试...

我正在考虑使用某种编译时间标志重新编译 svn 客户端以指示日志记录的详细程度,但没有得到任何结果。有人对如何从 SVN 客户端获取更多信息有任何指示吗? (命令行,linux)。

【问题讨论】:

    标签: svn


    【解决方案1】:

    AFAIK,不。 --verbose 存在但仅适用于svn statussvn pl(可能更多,但不合并或更新)。我绝对可以看到这样做的必要性,尤其是当您在搞乱 mergeinfo 时。

    听起来您已经知道自己在做什么,但尝试运行 svn pl -v 以查看根节点上的合并信息。

    另外,我注意到 svn 1.6.6 和更早版本的 mergeinfo 存在问题,特别是在某些情况下它会破坏它。升级到最新版本(在 ubuntu 10.04 上,我使用 svn 检查了源代码,构建了它,然后卸载了 apt-get 版本)。

    祝你好运。

    【讨论】:

    • 嗯,值得一试;)谢谢!
    【解决方案2】:

    是的,这是可能的。在~/.subversion/servers文件末尾添加:

    neon-debug-mask = 511
    

    【讨论】:

      【解决方案3】:

      您可以使用--config-option servers:global:neon-debug-mask=<level> 获得网络调试输出(参见级别here)。这对合并和其他逻辑问题没有帮助(非常低级别);只是为了那些正在谷歌搜索网络问题的 svn 客户端调试输出的人指出它。

      【讨论】:

      • 请注意,它不再适用于 subversion 1.8 及更高版本,因为 svn 放弃了对 libsvn_ra_neon 存储库访问模块的支持,转而支持 libsvn_ra_serf
      【解决方案4】:

      可能与您的问题没有直接关系,但说您想查看哪些文件:

      svn up
      

      看,我这样做:

      1. 在 shell 中启动 htop
      2. 将光标带到svn up 进程
      3. 点击s(用于strace 跟踪)
      4. 点击F4(用于过滤器)并添加open
      5. 点击F8(用于自动滚动)

      现在我在“svn”内部有一个不错的日志输出!

      这只是一个示例,但您可以通过这种方式监控任何系统调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-05
        • 1970-01-01
        • 2014-09-28
        • 1970-01-01
        • 1970-01-01
        • 2020-12-27
        • 1970-01-01
        • 2013-04-24
        相关资源
        最近更新 更多