chg /

Filename Size Date modified Message
170 B
setup: add minimal rule to build Python C extension (plus compile .py files)
90 B
Added tag 0.2 for changeset 2ab86d4f934c
1.5 KB
make: port simplified rule to start server in foreground
1.4 KB
cleanup: drop link to CommandServer wiki
324 B
remove extra fork from wrapper script
428 B
debian, setup: bump version


A bit faster Mercurial client for Unix with per-user cmdserver daemon.


For local use:

  1. Run make local (or gmake local on FreeBSD)
  2. Create symlink to chg from your PATH


  1. Run make deb
  2. Install by sudo dpkg -i ../mercurial-chg_*.deb

Other platforms:

  1. Run make install

If you see failed to import extension chgserver error, extension modules wouldn't be installed to the right path. In that case, you'll need to copy* and (or _chgutil.dylib) to the hgext directory. You can get the installation path by hg debuginstall.


Same as hg. e.g.

% chg stat

You may want to add the alias:

% alias hg=chg

To terminate background cmdserver:

% chg --kill-chg-daemon

To reload configuration files:

% chg --reload-chg-daemon

Environment Variables

cHg updates os.environ on each request, but some variables cannot make an effect. The following variables are specially handled by cHg:

  • reload config if HGPLAIN or HGPLAINEXCEPT changed, but some behaviors may not change.
  • CHGHG or HG is the path to the 'hg' executable spawned as the background cmdserver.

The following variables are available for testing purpose:

  • CHGDEBUG enables debug message of cHg.
  • CHGSOCKNAME specifies socket path of background cmdserver.