revset: use phasecache.getrevset to calculate public()
Other revsets like secret(), draft(), _nonpublic() are using
phasescache.getrevset already. The latter is more efficient after D1606.
So let's migrate the public() revset function too.
Tested using:
$ hg debugshell --hidden --cwd hg-committed`
In [1]: %timeit len(repo.revs('public()'))
* Before D1606: 10 loops, best of 3: 22.5 ms per loop
* Before this change, after D1606: 10 loops, best of 3: 28.6 ms per loop
* After this change: 10 loops, best of 3: 20.2 ms per loop
Therefore `public()` revset becomes even slightly faster after the data
structure change by D1606. A similar performance win could also be observed
on a large repo.
A side effect is `phasecache.getrevset` needs to take a `subset` parameter.
That was added with a default value so it won't cause BC issues.
Differential Revision: https://phab.mercurial-scm.org/D1620
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