我试图设置Mercurial使用的寻呼机,但输出为空,即使我在
[pager]
节或作为
PAGER
我注意到提供的命令是通过
cmd.exe
[extensions]
pager =
[pager]
pager = d:\tools\less\less.exe
示例命令行(来自Process Explorer):
hg diff
c:\windows\system32\cmd.exe /c "d:\tools\less\less.exe 2> NUL:"
d:\tools\less\less.exe
更新
sys.stderr = sys.stdout = util.popen(p, "wb")
具有
sys.stderr = sys.stdout = subprocess.Popen(p, stdin = subprocess.PIPE, shell=False).stdin
我设法获得了hg状态和差异的期望输出。
但是,我确信这是错误的(或者至少是不完整的),我无法控制寻呼机应用程序(less.exe):输出显示在cmd.exe窗口中,我可以看到less提示符(:),但任何进一步的输入都会输入cmd.exe。似乎寻呼机应用在后台仍处于活动状态:在cmd.exe窗口中键入exit后,我可以控制寻呼机应用,
我可以正常终止它。
此外,我选择什么作为寻呼机应用程序也没有什么区别(更多的应用程序表现相同)。
Issue1677 - [PATCH] pager for "hg help" output on windows