Windows上的Mercurial 1.5寻呼机

Windows上的Mercurial 1.5寻呼机,mercurial,Mercurial,我试图设置Mercurial使用的寻呼机,但输出为空,即使我在[pager]部分中指定了该命令或将其指定为寻呼机环境变量 我注意到提供的命令是通过cmd.exe启动的。这是导致输出为空的原因吗?如果是,正确的语法是什么 环境:Mercurial 1.5、Mercurial 1.4.3 hgrc: 示例命令行(来自Process Explorer): 更新 在pager.py中,通过替换: sys.stderr = sys.stdout = util.popen(p, "wb") 与 我设法获得

我试图设置Mercurial使用的寻呼机,但输出为空,即使我在
[pager]
部分中指定了该命令或将其指定为
寻呼机
环境变量

我注意到提供的命令是通过
cmd.exe
启动的。这是导致输出为空的原因吗?如果是,正确的语法是什么

环境:Mercurial 1.5、Mercurial 1.4.3

hgrc:

示例命令行(来自Process Explorer):

更新

在pager.py中,通过替换:

sys.stderr = sys.stdout = util.popen(p, "wb")

我设法获得了hg状态和差异的期望输出

但是,我确信这是错误的(或者至少是不完整的),我无法控制寻呼机应用程序(less.exe):输出显示在cmd.exe窗口中,我可以看到less提示符(:),但任何进一步的输入都会输入cmd.exe。似乎寻呼机应用在后台仍处于活动状态:在cmd.exe窗口中键入exit后,我可以控制寻呼机应用, 我可以正常终止它

此外,我选择什么作为寻呼机应用程序也没有什么区别(更多的应用程序表现相同)

更新2

您是否在
~/.hgrc
mercurial.ini
文件中启用了

  [extensions]
  pager =
它是随mercurial安装提供的,但您仍然需要启用它。

您是否在
~/.hgrc
mercurial.ini
文件中启用了

  [extensions]
  pager =

它是随mercurial安装提供的,但您仍需要启用它。

我已修改了寻呼机扩展名以使用临时文件存储命令输出,生成的扩展名可在和上找到。

我已修改寻呼机扩展名以使用临时文件存储命令输出,结果扩展可以在和上找到。

已经这样做了,当它未启用时,输出是预期的输出,当它启用时,没有输出。Hrm,当您使用
--debug
运行时,您看到了什么?行为是相同的:没有输出已经这样做,当它未启用时,输出是预期的输出,启用时没有输出。Hrm,使用
--debug
运行时会看到什么?行为相同:没有输出
sys.stderr = sys.stdout = subprocess.Popen(p, stdin = subprocess.PIPE, shell=False).stdin
  [extensions]
  pager =