【发布时间】:2011-02-05 16:37:17
【问题描述】:
我有办法查看 Tortoise HG 发出了什么 Mercurial 命令吗?例如,如果我在 Tortoise 中使用 Shelve 命令,我想看看它是如何(以及是否)在后台调用 'hg shelve'。
【问题讨论】:
标签: mercurial tortoisehg
我有办法查看 Tortoise HG 发出了什么 Mercurial 命令吗?例如,如果我在 Tortoise 中使用 Shelve 命令,我想看看它是如何(以及是否)在后台调用 'hg shelve'。
【问题讨论】:
标签: mercurial tortoisehg
如果某些命令触发了问题,您只能看到stderr,by activating DEBUG_THG。
但据我所知,有no command log for TortoiseHg。
【讨论】:
在某些工具中,有一个“查看->始终显示输出”选项。它使命令在控制台窗口中运行。尽管显示的命令行经常被截断,因为它可能包含密码。
TortoiseHg 在多个 API 层使用 Mercurial,因此没有通用的地方可以获取它发出的所有命令。但是一些打印语句可以让你走得更远。
tortoisehg/hgtk/hgcmd.py - 在 CmdRunner::execute() 中,打印 cmdline tortoisehg/util/hglib.py - 在 hgcmd_toq() 中,打印 args
要查看打印语句,您通常必须在您的环境中设置 THGDEBUG,并使用 --nofork 选项运行 hgtk。
Shelve 尤其难以拦截,因为几乎所有这些代码都在 TortoiseHg 内部。我们有一个搁置扩展的本地副本并直接调用它。
【讨论】:
我确定 Steve Borho's answer 是正确的,但还有另一种更简单的方法,在许多情况下可能是所需方法的 90%:
TortoiseHG 有一个“日志”视图,可以使用此工具栏按钮激活:。
它会在运行时显示许多 hg 命令,包括它们的输出。
这与查看菜单/显示日志选项(或^L)相同。
【讨论】: