Mercurial > hg
view contrib/chg/README @ 30706:2e4862646f02
repair: speed up stripping of many roots
repair.strip() expects a set of root revisions to strip. It then
builds the full set of descedants by walking the descandants of
each. It is rare that more than a few roots get passed in, but if that
happens, it will wastefully walk the changelog for each root. So let's
just walk it once.
I noticed this because the narrowhg extension was passing not only
roots, but all the commits to strip. When there were tens of thousands
of commits to strip, this resulted in quadratic behavior with that
extension.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 04 Jan 2017 10:07:12 -0800 |
parents | 66d41c9e9222 |
children | 4c8d9b53b1c7 |
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