sapling/contrib/chg
Yuya Nishihara cf8afe35a3 chg: forward job control signals to worker process (issue5051)
This is necessary to suspend/resume long pulls, interactive curses session,
etc.

The implementation is based on emacsclient, but our version doesn't test if
chg process is foreground or not before propagating SIGCONT. This is because
chg isn't always an interactive session. If we copy the SIGTTIN/SIGTTOU
emulation from emacsclient, non-interactive session can't be moved to a
background job.

  $ chg pull
  ^Z
  suspended
  $ bg %1
  [1] continued
  [1] suspended (tty input)  # wrong

https://github.com/emacs-mirror/emacs/blob/0e96320/lib-src/emacsclient.c#L1094
2016-01-19 22:31:59 +09:00
..
chg.1 chg: import frontend sources 2016-01-03 12:39:27 +09:00
chg.c chg: forward job control signals to worker process (issue5051) 2016-01-19 22:31:59 +09:00
hgclient.c chg: import frontend sources 2016-01-03 12:39:27 +09:00
hgclient.h chg: import frontend sources 2016-01-03 12:39:27 +09:00
Makefile chg: use in-tree hg executable to start server for testing 2016-01-03 12:45:32 +09:00
README chg: import frontend sources 2016-01-03 12:39:27 +09:00
util.c chg: initialize sigaction fields more reliably 2016-01-29 22:42:22 +09:00
util.h chg: import frontend sources 2016-01-03 12:39:27 +09: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
 $ chg --reload-chg-daemon  # reload configuration files

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 if HGPLAIN or HGPLAINEXCEPT changed, but
   some behaviors won't change correctly.
 * 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.