diff -r 1b9907575768 -r 0ac956db7ea7 rust/hg-pyo3/src/revlog/index.rs --- a/rust/hg-pyo3/src/revlog/index.rs Tue Dec 24 15:08:22 2024 +0100 +++ b/rust/hg-pyo3/src/revlog/index.rs Sun Dec 22 21:37:29 2024 +0100 @@ -39,3 +39,36 @@ ..Default::default() }) } + +pub fn revision_data_params_to_py_tuple( + py: Python<'_>, + params: RevisionDataParams, +) -> PyResult> { + PyTuple::new( + py, + &[ + params.data_offset.into_pyobject(py)?.into_any(), + params.data_compressed_length.into_pyobject(py)?.into_any(), + params + .data_uncompressed_length + .into_pyobject(py)? + .into_any(), + params.data_delta_base.into_pyobject(py)?.into_any(), + params.link_rev.into_pyobject(py)?.into_any(), + params.parent_rev_1.into_pyobject(py)?.into_any(), + params.parent_rev_2.into_pyobject(py)?.into_any(), + PyBytes::new(py, ¶ms.node_id).into_any().into_any(), + params._sidedata_offset.into_pyobject(py)?.into_any(), + params + ._sidedata_compressed_length + .into_pyobject(py)? + .into_any(), + params.data_compression_mode.into_pyobject(py)?.into_any(), + params + ._sidedata_compression_mode + .into_pyobject(py)? + .into_any(), + params._rank.into_pyobject(py)?.into_any(), + ], + ) +}