Mercurial > hg
changeset 47969:87e3f878e65f
rust: Rename get_node methods to data_for_node, get_rev to data_for_rev
These are respective methods of Changelog, Manifestlog, and Filelog;
three Rust structs that that wrap a Revlog struct.
This rename clarifies that node IDs or revision numbers are parameters,
not return values.
Also reword doc-comments in Manifestlog and Filelog to separate node IDs
and revision numbers that are local to a given (non-changelog) revlog
from those of a changeset.
Differential Revision: https://phab.mercurial-scm.org/D11416
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Tue, 14 Sep 2021 18:25:51 +0200 |
parents | 6f579618ea7b |
children | 7ab99007fce5 |
files | rust/hg-core/src/operations/cat.rs rust/hg-core/src/repo.rs rust/hg-core/src/revlog/changelog.rs rust/hg-core/src/revlog/filelog.rs rust/hg-core/src/revlog/manifest.rs rust/hg-core/src/revlog/revlog.rs rust/rhg/src/commands/status.rs |
diffstat | 7 files changed, 45 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/hg-core/src/operations/cat.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/hg-core/src/operations/cat.rs Tue Sep 14 18:25:51 2021 +0200 @@ -50,7 +50,7 @@ found_any = true; let file_log = repo.filelog(manifest_file)?; let file_node = Node::from_hex_for_repo(node_bytes)?; - let entry = file_log.get_node(file_node)?; + let entry = file_log.data_for_node(file_node)?; bytes.extend(entry.data()?) } }
--- a/rust/hg-core/src/repo.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/hg-core/src/repo.rs Tue Sep 14 18:25:51 2021 +0200 @@ -336,26 +336,29 @@ self.manifestlog.get_mut_or_init(self) } - /// Returns the manifest of the given node ID + /// Returns the manifest of the *changeset* with the given node ID pub fn manifest_for_node( &self, node: impl Into<NodePrefix>, ) -> Result<Manifest, RevlogError> { - self.manifestlog()?.get_node( + self.manifestlog()?.data_for_node( self.changelog()? - .get_node(node.into())? + .data_for_node(node.into())? .manifest_node()? .into(), ) } - /// Returns the manifest of the given revision + /// Returns the manifest of the *changeset* with the given revision number pub fn manifest_for_rev( &self, revision: Revision, ) -> Result<Manifest, RevlogError> { - self.manifestlog()?.get_node( - self.changelog()?.get_rev(revision)?.manifest_node()?.into(), + self.manifestlog()?.data_for_node( + self.changelog()? + .data_for_rev(revision)? + .manifest_node()? + .into(), ) }
--- a/rust/hg-core/src/revlog/changelog.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/hg-core/src/revlog/changelog.rs Tue Sep 14 18:25:51 2021 +0200 @@ -17,17 +17,17 @@ Ok(Self { revlog }) } - /// Return the `ChangelogEntry` a given node id. - pub fn get_node( + /// Return the `ChangelogEntry` for the given node ID. + pub fn data_for_node( &self, node: NodePrefix, ) -> Result<ChangelogEntry, RevlogError> { let rev = self.revlog.rev_from_node(node)?; - self.get_rev(rev) + self.data_for_rev(rev) } - /// Return the `ChangelogEntry` of a given node revision. - pub fn get_rev( + /// Return the `ChangelogEntry` of the given revision number. + pub fn data_for_rev( &self, rev: Revision, ) -> Result<ChangelogEntry, RevlogError> {
--- a/rust/hg-core/src/revlog/filelog.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/hg-core/src/revlog/filelog.rs Tue Sep 14 18:25:51 2021 +0200 @@ -26,17 +26,17 @@ /// The given node ID is that of the file as found in a manifest, not of a /// changeset. - pub fn get_node( + pub fn data_for_node( &self, file_node: impl Into<NodePrefix>, ) -> Result<FilelogEntry, RevlogError> { let file_rev = self.revlog.rev_from_node(file_node.into())?; - self.get_rev(file_rev) + self.data_for_rev(file_rev) } /// The given revision is that of the file as found in a manifest, not of a /// changeset. - pub fn get_rev( + pub fn data_for_rev( &self, file_rev: Revision, ) -> Result<FilelogEntry, RevlogError> {
--- a/rust/hg-core/src/revlog/manifest.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/hg-core/src/revlog/manifest.rs Tue Sep 14 18:25:51 2021 +0200 @@ -18,14 +18,31 @@ Ok(Self { revlog }) } - /// Return the `ManifestEntry` of a given node id. - pub fn get_node(&self, node: NodePrefix) -> Result<Manifest, RevlogError> { + /// Return the `Manifest` for the given node ID. + /// + /// Note: this is a node ID in the manifestlog, typically found through + /// `ChangelogEntry::manifest_node`. It is *not* the node ID of any + /// changeset. + /// + /// See also `Repo::manifest_for_node` + pub fn data_for_node( + &self, + node: NodePrefix, + ) -> Result<Manifest, RevlogError> { let rev = self.revlog.rev_from_node(node)?; - self.get_rev(rev) + self.data_for_rev(rev) } - /// Return the `ManifestEntry` of a given node revision. - pub fn get_rev(&self, rev: Revision) -> Result<Manifest, RevlogError> { + /// Return the `Manifest` of a given revision number. + /// + /// Note: this is a revision number in the manifestlog, *not* of any + /// changeset. + /// + /// See also `Repo::manifest_for_rev` + pub fn data_for_rev( + &self, + rev: Revision, + ) -> Result<Manifest, RevlogError> { let bytes = self.revlog.get_rev_data(rev)?; Ok(Manifest { bytes }) }
--- a/rust/hg-core/src/revlog/revlog.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/hg-core/src/revlog/revlog.rs Tue Sep 14 18:25:51 2021 +0200 @@ -119,12 +119,14 @@ self.index.is_empty() } - /// Returns the node ID for the given revision number, if it exists in this revlog + /// Returns the node ID for the given revision number, if it exists in this + /// revlog pub fn node_from_rev(&self, rev: Revision) -> Option<&Node> { Some(self.index.get_entry(rev)?.hash()) } - /// Return the revision number for the given node ID, if it exists in this revlog + /// Return the revision number for the given node ID, if it exists in this + /// revlog #[timed] pub fn rev_from_node( &self,
--- a/rust/rhg/src/commands/status.rs Tue Sep 14 18:10:35 2021 +0200 +++ b/rust/rhg/src/commands/status.rs Tue Sep 14 18:25:51 2021 +0200 @@ -270,7 +270,7 @@ .find_file(hg_path)? .expect("ambgious file not in p1"); let filelog = repo.filelog(hg_path)?; - let filelog_entry = filelog.get_node(file_node).map_err(|_| { + let filelog_entry = filelog.data_for_node(file_node).map_err(|_| { HgError::corrupted("filelog missing node from manifest") })?; let contents_in_p1 = filelog_entry.data()?;