是否有可能获得svn客户端调试输出?

时间:2011-12-07 14:31:40

标签: svn

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

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

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

对于此任务和其他人,我希望能够启用SVN调试日志,从字面上向我显示如下内容:

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

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

4 个答案:

答案 0 :(得分:15)

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

答案 1 :(得分:1)

AFAIK,没有。 --verbose存在但仅适用于svn statussvn pl(可能更多,但不合并或更新)。我绝对可以看到对此的需求,特别是如果你正在搞乱mergeinfo。

听起来你知道自己在做什么,但是尝试运行svn pl -v来查看根节点上的mergeinfo。

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

祝你好运。

答案 2 :(得分:0)

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

svn up

看着,我这样做:

  1. 在shell中启动htop
  2. svn up进程
  3. 带来诅咒
  4. 点击s(对于strace追踪)
  5. 点击F4(针对过滤器)并添加open
  6. 点击F8(自动滚动)
  7. 现在我在'svn'内部有一个很好的日志输出!

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

答案 3 :(得分:0)

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

neon-debug-mask = 511