rust-changelog: introduce ChangelogEntry parent entries accessors
authorGeorges Racinet <georges.racinet@octobus.net>
Thu, 30 Mar 2023 12:21:38 +0200
changeset 50414 071a6c1d291e
parent 50413 c101e7757ed7
child 50415 331a3cbe1c9e
rust-changelog: introduce ChangelogEntry parent entries accessors Straightforwards now that lifetimes are explicit in `RevlogEntry` parent accessors.
rust/hg-core/src/revlog/changelog.rs
--- a/rust/hg-core/src/revlog/changelog.rs	Thu Mar 30 12:20:53 2023 +0200
+++ b/rust/hg-core/src/revlog/changelog.rs	Thu Mar 30 12:21:38 2023 +0200
@@ -106,6 +106,20 @@
     pub fn as_revlog_entry(&self) -> &RevlogEntry {
         &self.revlog_entry
     }
+
+    pub fn p1_entry(&self) -> Result<Option<ChangelogEntry>, RevlogError> {
+        Ok(self
+            .revlog_entry
+            .p1_entry()?
+            .map(|revlog_entry| Self { revlog_entry }))
+    }
+
+    pub fn p2_entry(&self) -> Result<Option<ChangelogEntry>, RevlogError> {
+        Ok(self
+            .revlog_entry
+            .p2_entry()?
+            .map(|revlog_entry| Self { revlog_entry }))
+    }
 }
 
 /// `Changelog` entry which knows how to interpret the `changelog` data bytes.