Does chg cache information?
Yuya Nishihara
yuya at tcha.org
Sun Jan 20 01:03:03 UTC 2019
On Sun, 20 Jan 2019 09:45:02 +0900, Yuya Nishihara wrote:
> On Sat, 19 Jan 2019 20:13:09 +0100, Marcus Harnisch wrote:
> > What do you mean by “chg daemon process is forked per connection”? Isn't it
> > that invoking chg (client) checks for a daemon, starting it when necessary?
> > Subsequent invokation of chg would detect an already running daemon. What
> > constitutes a connection here? When I work in two different repositories on
> > the same machine, the same chg daemon is going to used, no?
>
> Basically the same daemon waits new connection from chg (client), and the
> daemon fork()s immediately after accept(). Then, a repository is loaded.
>
> The long-lived daemon process is just handling new connections from chg
> clients. No repository data would be loaded by it.
"No repository data loaded" isn't correct. A repository is loaded when
the long-lived daemon starts, but it's different from the repository object
which a forked worker process (so chg client) operates on.
The repository object loaded by the long-lived daemon process is mostly
unused. It's just for loading per-repository configuration into the daemon.
More information about the Mercurial
mailing list