annotate rust/hg-pyo3/src/lib.rs @ 53040:cdd7bf612c7b stable tip

bundle-spec: properly format boolean parameter (issue6960) This was breaking automatic clone bundle generation. This changeset fixes it and add a test to catch it in the future.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 11 Mar 2025 02:29:42 +0100
parents 6332e5f857f6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
52433
6673cec8605c rust: add PyO3 based Rust extension module
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
1 use pyo3::prelude::*;
6673cec8605c rust: add PyO3 based Rust extension module
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
2
52558
4c9e31984b3a rust-pyo3: exposition of AncestorsIterator
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52442
diff changeset
3 mod ancestors;
52987
6332e5f857f6 pyo3: transliterate the `copy_tracing` module from `hg-cpython`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52985
diff changeset
4 mod copy_tracing;
52438
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
5 mod dagops;
52861
d0c0ad938eb9 rust-pyo3-dirstate: module definition
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52854
diff changeset
6 mod dirstate;
52850
01aff9437828 rust-pyo3: translate discovery module from hg-cpython
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52840
diff changeset
7 mod discovery;
52439
20c0472b2ab7 rust-pyo3: defining GraphError
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52438
diff changeset
8 mod exceptions;
52798
71ebe880f24a hg-pyo3-revlog: Node conversion utilities
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52789
diff changeset
9 mod node;
52870
c60f69556924 rust-pyo3: new module for conversions of HgPath and friends
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52861
diff changeset
10 mod path;
52984
a39680ec3e76 pyo3: add a `repo` module
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52870
diff changeset
11 mod repo;
52440
a642c0a3860f rust-pyo3: conversion helpers for Revision objects
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52439
diff changeset
12 mod revision;
52788
264047bf4b9b rust-pyo3-revlog: new Python and Rust module
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52787
diff changeset
13 mod revlog;
52854
28f0f00b5dbd rust-pyo3: rename the `util` file to `utils`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52852
diff changeset
14 mod store;
52840
50c0c74ca266 rust-pyo3: add a transaction module
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52798
diff changeset
15 mod transaction;
52985
a60d1eb74dc6 pyo3: add `update` module
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52984
diff changeset
16 mod update;
52854
28f0f00b5dbd rust-pyo3: rename the `util` file to `utils`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52852
diff changeset
17 mod utils;
52438
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
18
52433
6673cec8605c rust: add PyO3 based Rust extension module
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
19 #[pymodule]
52438
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
20 fn pyo3_rustext(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
52787
0f9ed7e7a71b rust-pyo3: make mercurial.pyo3_rustext a proper package
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52558
diff changeset
21 m.add("__package__", "mercurial")?;
52438
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
22 m.add(
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
23 "__doc__",
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
24 "Mercurial core concepts - Rust implementation exposed via PyO3",
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
25 )?;
52787
0f9ed7e7a71b rust-pyo3: make mercurial.pyo3_rustext a proper package
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52558
diff changeset
26 let dotted_name: String = m.getattr("__name__")?.extract()?;
52788
264047bf4b9b rust-pyo3-revlog: new Python and Rust module
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52787
diff changeset
27 env_logger::init();
52438
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
28
52558
4c9e31984b3a rust-pyo3: exposition of AncestorsIterator
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52442
diff changeset
29 m.add_submodule(&ancestors::init_module(py, &dotted_name)?)?;
52987
6332e5f857f6 pyo3: transliterate the `copy_tracing` module from `hg-cpython`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52985
diff changeset
30 m.add_submodule(&copy_tracing::init_module(py, &dotted_name)?)?;
52438
c5128c541021 rust-pyo3: facility for submodule registration, using it for dagop
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52434
diff changeset
31 m.add_submodule(&dagops::init_module(py, &dotted_name)?)?;
52861
d0c0ad938eb9 rust-pyo3-dirstate: module definition
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52854
diff changeset
32 m.add_submodule(&dirstate::init_module(py, &dotted_name)?)?;
52850
01aff9437828 rust-pyo3: translate discovery module from hg-cpython
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52840
diff changeset
33 m.add_submodule(&discovery::init_module(py, &dotted_name)?)?;
52788
264047bf4b9b rust-pyo3-revlog: new Python and Rust module
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52787
diff changeset
34 m.add_submodule(&revlog::init_module(py, &dotted_name)?)?;
52985
a60d1eb74dc6 pyo3: add `update` module
Rapha?l Gom?s <rgomes@octobus.net>
parents: 52984
diff changeset
35 m.add_submodule(&update::init_module(py, &dotted_name)?)?;
52439
20c0472b2ab7 rust-pyo3: defining GraphError
Georges Racinet <georges.racinet@cloudcrane.io>
parents: 52438
diff changeset
36 m.add("GraphError", py.get_type::<exceptions::GraphError>())?;
52433
6673cec8605c rust: add PyO3 based Rust extension module
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
37 Ok(())
6673cec8605c rust: add PyO3 based Rust extension module
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
38 }