Windows上的Mercurial 1.5分页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows上的Mercurial 1.5分页相关的知识,希望对你有一定的参考价值。

我正在尝试设置用于Mercurial的寻呼机但是输出是空的,即使我在[pager]部分中指定了命令或者作为PAGER环境变量。

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

环境:Mercurial 1.5,Mercurial 1.4.3

hgrc:

[extensions]
pager =

[pager]
pager = d:	oolslessless.exe

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

hg diff
c:windowssystem32cmd.exe /c "d:	oolslessless.exe 2> NUL:"
d:	oolslessless.exe

UPDATE

在pager.py中,通过替换:

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

sys.stderr = sys.stdout = subprocess.Popen(p, stdin = subprocess.PIPE, shell=False).stdin

我设法获得了hg status和diff的所需输出。

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

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

更新2

Issue1677 - [PATCH] pager for "hg help" output on windows

答案

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

另一答案

你在pager extension~/.hgrc文件中启用了mercurial.ini吗?

  [extensions]
  pager =

它是你的mercurial安装,但你仍然需要启用它。

以上是关于Windows上的Mercurial 1.5分页的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Windows 上的 TortoiseHg (Mercurial) 使用生成的私钥文件(由 Puttygen 生成)?

Windows 7 64 位上的 MercurialEclipse:不安装“Mercurial 的 Windows 二进制文件”

Mercurial:两个Windows开发人员,我的PC上的中央存储库。我应该在中央存储库中工作还是从中克隆?

显示Mercurial推/拉的进度

windows上安装Mercurial4.4.1 克隆OPENJDK版本库

OpenSUSE Apache - Windows LDAP - 组用户认证 - Mercurial