view contrib/chg/README @ 48693:de3ac3d2c60b

stream-clone: allow to change persistent-nodemap format during stream clone Persistent nodemap affect the store format. However it is fairly isolated and fast to generate locally. So not making it a fixed part of the stream clone is useful. This allow clients without persistent-nodemap support (default for client without Rust enabled, or simply older client). So it make it possible to enable persistent nodemap on client, where it can provide a massive boost. without too much consequence. To do so, we stop using it in the advertisement requirements for streaming and let the client add/remove the necessary file depending of its configuration. We still send the files as it seems like a small save to not regenerate them. In addition, the way we match them will overlap with the changelog-v2/revlog-v2 so we can't simply skip the associated patterns. Differential Revision: https://phab.mercurial-scm.org/D12096
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 27 Jan 2022 22:24:11 +0100
parents 4c8d9b53b1c7
children
line wrap: on
line source

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.