##// END OF EJS Templates
packaging: rename hgrc.d to defaultrc for Windows config files next to the exe...
packaging: rename hgrc.d to defaultrc for Windows config files next to the exe The code and the help still says that it will read hgrc.d next to the executable. But this directory needs to exist to read the resource based config files. Otherwise even `hg version` errors out: $ /c/Program\ Files/Mercurial/hg.exe version Traceback (most recent call last): File "hg", line 43, in <module> File "mercurial\dispatch.pyc", line 110, in run File "mercurial\dispatch.pyc", line 226, in dispatch File "mercurial\ui.pyc", line 308, in load File "mercurial\rcutil.pyc", line 99, in rccomponents File "mercurial\rcutil.pyc", line 69, in default_rc_resources File "mercurial\utils\resourceutil.pyc", line 84, in contents WindowsError: [Error 3] The system cannot find the path specified: 'c:\\Program Files\\mercurial\\defaultrc\\*.*' Differential Revision: https://phab.mercurial-scm.org/D7981

File last commit:

r44589:3bd77c64 default
r44614:e4344e46 5.3rc1 stable
Show More
lib.rs
83 lines | 2.3 KiB | application/rls-services+xml | RustLexer
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 // lib.rs
//
// Copyright 2018 Georges Racinet <gracinet@anybox.fr>
//
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
//! Python bindings of `hg-core` objects using the `cpython` crate.
//! Once compiled, the resulting single shared library object can be placed in
//! the `mercurial` package directly as `rustext.so` or `rustext.dll`.
//! It holds several modules, so that from the point of view of Python,
//! it behaves as the `cext` package.
//!
//! Example:
Georges Racinet
rust-cpython: rustdoc improvements...
r41220 //!
//! ```text
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 //! >>> from mercurial.rustext import ancestor
//! >>> ancestor.__doc__
//! 'Generic DAG ancestor algorithms - Rust implementation'
//! ```
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 /// This crate uses nested private macros, `extern crate` is still needed in
/// 2018 edition.
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 #[macro_use]
extern crate cpython;
Georges Racinet
rust-cpython: rustdoc improvements...
r41220 pub mod ancestors;
Georges Racinet
rust-cpython: implement Graph using C parents function...
r41082 mod cindex;
Georges Racinet
rust-cpython: moved generic conversion fn out of ancestors module...
r41276 mod conversion;
Raphaël Gomès
rust-cpython: add macro for sharing references...
r42997 #[macro_use]
pub mod ref_sharing;
Georges Racinet
rust-cpython: binding for headrevs()...
r41843 pub mod dagops;
Raphaël Gomès
rust: run rfmt on all hg-core/hg-cpython code...
r42760 pub mod dirstate;
Georges Racinet
rust-discovery: cpython bindings for the core logic...
r42356 pub mod discovery;
Georges Racinet
rust-cpython: rustdoc improvements...
r41220 pub mod exceptions;
Raphaël Gomès
rust-filepatterns: add `rust-cpython` bindings for `filepatterns`...
r42515 pub mod filepatterns;
Raphaël Gomès
rust: run cargo fmt
r43087 pub mod parsers;
rust-index: add a function to convert PyObject index for hg-core...
r44398 pub mod revlog;
Raphaël Gomès
rust-utils: introduce a debug util to print the python stack trace...
r43545 pub mod utils;
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001
py_module_initializer!(rustext, initrustext, PyInit_rustext, |py, m| {
m.add(
py,
"__doc__",
"Mercurial core concepts - Rust implementation",
)?;
let dotted_name: String = m.get(py, "__name__")?.extract(py)?;
m.add(py, "ancestor", ancestors::init_module(py, &dotted_name)?)?;
Georges Racinet
rust-cpython: binding for headrevs()...
r41843 m.add(py, "dagop", dagops::init_module(py, &dotted_name)?)?;
Georges Racinet
rust-discovery: cpython bindings for the core logic...
r42356 m.add(py, "discovery", discovery::init_module(py, &dotted_name)?)?;
Raphaël Gomès
rust-dirstate: add rust-cpython bindings to the new parse/pack functions...
r42489 m.add(py, "dirstate", dirstate::init_module(py, &dotted_name)?)?;
Georges Racinet
rust-index: add a struct wrapping the C index...
r44413 m.add(py, "revlog", revlog::init_module(py, &dotted_name)?)?;
Raphaël Gomès
rust: run rfmt on all hg-core/hg-cpython code...
r42760 m.add(
py,
"filepatterns",
filepatterns::init_module(py, &dotted_name)?,
)?;
Raphaël Gomès
rust-parsers: move parser bindings to their own file and Python module...
r42992 m.add(
py,
"parsers",
parsers::init_parsers_module(py, &dotted_name)?,
)?;
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 m.add(py, "GraphError", py.get_type::<exceptions::GraphError>())?;
Raphaël Gomès
rust: run rfmt on all hg-core/hg-cpython code...
r42760 m.add(
py,
"PatternFileError",
py.get_type::<exceptions::PatternFileError>(),
)?;
m.add(
py,
"PatternError",
py.get_type::<exceptions::PatternError>(),
)?;
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 Ok(())
});
Yuya Nishihara
rust-cpython: prepare for writing tests that require libpython...
r43583
#[cfg(not(any(feature = "python27-bin", feature = "python3-bin")))]
#[test]
#[ignore]
fn libpython_must_be_linked_to_run_tests() {
// stub function to tell that some tests wouldn't run
}