Mercurial > public > mercurial-scm > hg-stable
diff rust/hg-core/src/operations/cat.rs @ 47987:21d25e9ee58e
rust: Keep lazily-initialized Changelog and Manifest log on the Repo object
That way if one of them is accessed multiple times it won?t be reopened
from the filesystem.
Differential Revision: https://phab.mercurial-scm.org/D11406
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 13 Sep 2021 13:29:55 +0200 |
parents | d44740725b95 |
children | cfb6e6699b25 |
line wrap: on
line diff
--- a/rust/hg-core/src/operations/cat.rs Mon Sep 13 13:16:10 2021 +0200 +++ b/rust/hg-core/src/operations/cat.rs Mon Sep 13 13:29:55 2021 +0200 @@ -8,8 +8,6 @@ use std::path::PathBuf; use crate::repo::Repo; -use crate::revlog::changelog::Changelog; -use crate::revlog::manifest::Manifestlog; use crate::revlog::path_encode::path_encode; use crate::revlog::revlog::Revlog; use crate::revlog::revlog::RevlogError; @@ -42,8 +40,8 @@ files: &'a [HgPathBuf], ) -> Result<CatOutput, RevlogError> { let rev = crate::revset::resolve_single(revset, repo)?; - let changelog = Changelog::open(repo)?; - let manifest = Manifestlog::open(repo)?; + let changelog = repo.changelog()?; + let manifest = repo.manifestlog()?; let changelog_entry = changelog.get_rev(rev)?; let node = *changelog .node_from_rev(rev)