sapling/contrib/chg
Jun Wu 3d025d497a chg: do not start or use a chg server if the process was running with low priority
Summary:
If a chg server was started by a low priority process, it will inherit the low
priority and can be painfully slow.

On the other hand, if the chg client was low priority, the user or the automation
wants the process to be low priority intentionally. Therefore connecting to an
existing chg server might bypass intention.

Therefore, detect the low priority case, and refuse to start or connect to a
chg server.

Previous attempts to workaround slow chg server were removed as they are
probably no longer necessary.

Reviewed By: singhsrb

Differential Revision: D15223518

fbshipit-source-id: 718e807820d481eac204f2293f949c3b315f923d
2019-05-06 15:50:43 -07:00
..
chg.1 chg: remove manual reload logic 2016-03-10 00:12:33 +00:00
chg.c chg: do not start or use a chg server if the process was running with low priority 2019-05-06 15:50:43 -07:00
hgclient.c chg: restart server automatically if handshake takes too long 2018-06-05 22:02:50 -07:00
hgclient.h chg: restart server automatically if handshake takes too long 2018-06-05 22:02:50 -07:00
Makefile chg: remove the ability to produce an actual binary 2019-03-14 06:35:45 -07:00
procutil.c hg: disable check-code tests for C code 2018-06-05 19:21:43 -07:00
procutil.h hg: disable check-code tests for C code 2018-06-05 19:21:43 -07:00
README chg: change default connect timeout to 60 seconds 2016-06-15 21:36:31 +01:00
util.c chg: restart server automatically if handshake takes too long 2018-06-05 22:02:50 -07:00
util.h chg: restart server automatically if handshake takes too long 2018-06-05 22:02:50 -07:00

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