##// END OF EJS Templates
upgrade: no longer keep all revlogs in memory at any point...
upgrade: no longer keep all revlogs in memory at any point Keeping all object open is unsustainable, so we will open them on demand. This mean opening them multiple times, but this is a lesser evil. Each revlog consume a small amount of memory (index content, associated nodemap, etc). While there are few "big" revlog, the sheer amount of small filelog can become a significant issue memory wise, consuming multiple GB of memory. If you combines this extra usage with the use of multiprocessing, this usage can quickly get out of control. This can effectively block the upgrade of larger repository. This changeset fixes this issue.

File last commit:

r50408:467d9df9 default
r50447:19948429 stable
Show More
config.rs
18 lines | 504 B | application/rls-services+xml | RustLexer
Raphaël Gomès
hg-core: add basic config module...
r46803 // config.rs
//
// Copyright 2020
// Valentin Gatien-Baron,
// Raphaël Gomès <rgomes@octobus.net>
//
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
//! Mercurial config parsing and interfaces.
mod config;
mod layer;
Arseniy Alekseyev
rhg: centralize PlainInfo
r50408 mod plain_info;
Simon Sapin
rust: Move config value parsing functions to a new module...
r47344 mod values;
Arseniy Alekseyev
rhg: centralize PlainInfo
r50408 pub use config::{Config, ConfigSource, ConfigValueParseError};
Simon Sapin
rhg: Add support for colored output...
r49584 pub use layer::{ConfigError, ConfigOrigin, ConfigParseError};
Arseniy Alekseyev
rhg: centralize PlainInfo
r50408 pub use plain_info::PlainInfo;