Mercurial > hg
view contrib/chg/chg.1 @ 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 | 8062869860b8 |
children | 283828850c56 |
line wrap: on
line source
.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH CHG 1 "March 3, 2013" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp <n> insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME chg \- a fast client for Mercurial command server .SH SYNOPSIS .B chg .IR command " [" options "] [" arguments "]..." .br .SH DESCRIPTION The .B chg command is the wrapper for .B hg command. It uses the Mercurial command server to reduce start-up overhead. .SH OPTIONS This program accepts the same command line syntax as the .B hg command. Additionally it accepts the following options. .TP .B \-\-kill\-chg\-daemon Terminate the background command servers. .SH SEE ALSO .BR hg (1), .SH AUTHOR Written by Yuya Nishihara <yuya@tcha.org>.