D12210: rust: implement vcsgraph::RankedGraph for Index
pacien (Pacien)
phabricator at mercurial-scm.org
Mon Feb 21 17:13:29 UTC 2022
pacien created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D12210
AFFECTED FILES
rust/hg-cpython/src/cindex.rs
CHANGE DETAILS
diff --git a/rust/hg-cpython/src/cindex.rs b/rust/hg-cpython/src/cindex.rs
--- a/rust/hg-cpython/src/cindex.rs
+++ b/rust/hg-cpython/src/cindex.rs
@@ -177,6 +177,20 @@
}
}
+impl vcsgraph::graph::RankedGraph for Index {
+ fn rank(
+ &self,
+ rev: Revision,
+ ) -> Result<vcsgraph::graph::Rank, vcsgraph::graph::GraphReadError> {
+ match unsafe {
+ (self.capi.fast_rank)(self.index.as_ptr(), rev as ssize_t)
+ } {
+ -1 => Err(vcsgraph::graph::GraphReadError::InconsistentGraphData),
+ rank => Ok(rank as usize),
+ }
+ }
+}
+
impl RevlogIndex for Index {
/// Note C return type is Py_ssize_t (hence signed), but we shall
/// force it to unsigned, because it's a length
To: pacien, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list