Mercurial > hg
view contrib/chg/chg.1 @ 30619:88efb4fb1975
chgserver: truncate base address at "." for hash address
Previously, the hash address is just appending "-$HASH" to base address.
This patch makes it truncate the basename address at "." before appending
"-$HASH".
This makes it possible to spawn new servers in a racy situation and the
client could be sure the server it connects is the new server just spawned.
This is a step towards removing the lock.
One of the functionalities of the lock is to make sure the connect will
connect to a server it just created:
1. start server --address foo
2. connect to foo # wish "foo" is the server just started
With this change, the client could do:
1. start server --address foo.tmp$PID
2. connect to foo.tmp$PID # is the server just started
(note: if it is not, it does not affect correctness - linux pid
namespace is not a concern here)
3. rename foo.tmp$PID to foo
Another functionality of the lock is to avoid starting multiple servers with
a same confighash in parallel. But that also prevents starting multiple
servers with different confighashes in parallel.
author | Jun Wu <quark@fb.com> |
---|---|
date | Mon, 19 Dec 2016 22:07:41 +0000 |
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>.