##// 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
// 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;
mod plain_info;
mod values;
pub use config::{Config, ConfigSource, ConfigValueParseError};
pub use layer::{ConfigError, ConfigOrigin, ConfigParseError};
pub use plain_info::PlainInfo;