代码之家  ›  专栏  ›  技术社区  ›  alexandrul

Windows上的Mercurial 1.5寻呼机

  •  2
  • alexandrul  · 技术社区  · 16 年前

    我试图设置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

    2 回复  |  直到 8 年前
        1
  •  0
  •   alexandrul    16 年前

    我已经修改了寻呼机扩展名,使用一个临时文件来存储命令输出,结果扩展名可以在 CodePlex Bitbucket .

        2
  •  0
  •   Vadim Kotov First Zero    8 年前

    pager extension 在你的 ~/.hgrc mercurial.ini 文件

      [extensions]
      pager =
    

    它随mercurial安装而来,但您仍然需要启用它。

    推荐文章