##// END OF EJS Templates
windows: disable pager when packaged with py2exe...
windows: disable pager when packaged with py2exe With Windows and py3, all output that got directed to the pager was lost. It can be worked around by the user piping to `more`, but that's easy to forget, and can be dangerous if `hg diff` or similar incorrectly shows no changes. The problem appears to be the new WindowsConsoleIO in py3.6[1]. We've worked around it with PyOxidizer by setting the `Py_LegacyWindowsStdioFlag` interpreter option, and worked around it with `hg.bat` and `exewrapper.c` by internally setting `PYTHONLEGACYWINDOWSSTDIO=1`. Unfortunately, py2exe doesn't appear to be able to set the interpreter option, and somehow seems to also ignore the environment variable. The latter isn't a good fix anyway, since setting it in the environment would affect other python programs too. We can't install a global config for this because a config closer to the user (e.g. from before pager was turned on by default) can override it. [1] https://peps.python.org/pep-0528/ Differential Revision: https://phab.mercurial-scm.org/D12556
Matt Harbison -
r49948:30825d15 default
Show More
Name Size Modified Last Commit Author
/ contrib / chg
Makefile Loading ...
README Loading ...
chg.1 Loading ...
chg.c Loading ...
hgclient.c Loading ...
hgclient.h Loading ...
procutil.c Loading ...
procutil.h Loading ...
util.c Loading ...
util.h Loading ...

cHg
===

A fast client for Mercurial command server running on Unix.

Install:

$ make
$ make install

Usage:

$ chg help # show help of Mercurial
$ alias hg=chg # replace hg command
$ chg --kill-chg-daemon # terminate background server

Environment variables:

Although cHg tries to update environment variables, some of them cannot be
changed after spawning the server. The following variables are specially
handled:

* configuration files are reloaded automatically by default.
* CHGHG or HG specifies the path to the hg executable spawned as the
background command server.

The following variables are available for testing:

* CHGDEBUG enables debug messages.
* CHGSOCKNAME specifies the socket path of the background cmdserver.
* CHGTIMEOUT specifies how many seconds chg will wait before giving up
connecting to a cmdserver. If it is 0, chg will wait forever. Default: 60

Build environment variables:

* HGPATH: the path to the hg executable to call when CHGHG and HG are not set,
instead of "hg"
* HGPATHREL=1: when CHGHG and HG are not set, the hg executable will be ./hg
relative to the chg executable. Only works on linux, falls back to "hg"
otherwise.