##// END OF EJS Templates
rust-index: expose a method to retrieve the C index...
Georges Racinet -
r44464:443dc165 default
parent child Browse files
Show More
@@ -29,6 +29,17 b' py_class!(pub class MixedIndex |py| {'
29 29 cindex::Index::new(py, cindex)?))
30 30 }
31 31
32 /// Compatibility layer used for Python consumers needing access to the C index
33 ///
34 /// Only use case so far is `scmutil.shortesthexnodeidprefix`,
35 /// that may need to build a custom `nodetree`, based on a specified revset.
36 /// With a Rust implementation of the nodemap, we will be able to get rid of
37 /// this, by exposing our own standalone nodemap class,
38 /// ready to accept `MixedIndex`.
39 def get_cindex(&self) -> PyResult<PyObject> {
40 Ok(self.cindex(py).borrow().inner().clone_ref(py))
41 }
42
32 43
33 44 // Reforwarded C index API
34 45
@@ -25,6 +25,13 b' class RustRevlogIndexTest(revlogtesting.'
25 25 rustidx = revlog.MixedIndex(idx)
26 26 self.assertEqual(rustidx.headrevs(), idx.headrevs())
27 27
28 def test_get_cindex(self):
29 # drop me once we no longer need the method for shortest node
30 idx = self.parseindex()
31 rustidx = revlog.MixedIndex(idx)
32 cidx = rustidx.get_cindex()
33 self.assertTrue(idx is cidx)
34
28 35 def test_len(self):
29 36 idx = self.parseindex()
30 37 rustidx = revlog.MixedIndex(idx)
General Comments 0
You need to be logged in to leave comments. Login now