Mercurial > hg
view rust/README.rst @ 39269:d0e8933d6dad
i18n: merge i18n comments of translatable texts correctly
Before this patch, i18n comments of translatable texts are lost at
creation of hg.pot file, if:
- same translatable text appears multiple times,
- the 1st appearance does not have i18n comment, and
- any of rest has it
For example, previous patch for filemerge.py adds translatable texts
with i18n comments, but these comments are lost, because:
- automatically added texts in docstring of internal merge tools are
picked up earlier than these translatable texts, because of
location in filemerge.py
- but docstring has no i18n comment
This patch makes addentry() of posplit merge i18n comments of later
translatable texts, in order to keep them at creation of hg.pot.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 22 Aug 2018 14:37:56 +0900 |
parents | 964212780daf |
children | 8a3b045d9086 |
line wrap: on
line source
=================== Mercurial Rust Code =================== This directory contains various Rust code for the Mercurial project. The top-level ``Cargo.toml`` file defines a workspace containing all primary Mercurial crates. Building ======== To build the Rust components:: $ cargo build If you prefer a non-debug / release configuration:: $ cargo build --release Features -------- The following Cargo features are available: localdev (default) Produce files that work with an in-source-tree build. In this mode, the build finds and uses a ``python2.7`` binary from ``PATH``. The ``hg`` binary assumes it runs from ``rust/target/<target>hg`` and it finds Mercurial files at ``dirname($0)/../../../``. Build Mechanism --------------- The produced ``hg`` binary is *bound* to a CPython installation. The binary links against and loads a CPython library that is discovered at build time (by a ``build.rs`` Cargo build script). The Python standard library defined by this CPython installation is also used. Finding the appropriate CPython installation to use is done by the ``python27-sys`` crate's ``build.rs``. Its search order is:: 1. ``PYTHON_SYS_EXECUTABLE`` environment variable. 2. ``python`` executable on ``PATH`` 3. ``python2`` executable on ``PATH`` 4. ``python2.7`` executable on ``PATH`` Additional verification of the found Python will be performed by our ``build.rs`` to ensure it meets Mercurial's requirements. Details about the build-time configured Python are built into the produced ``hg`` binary. This means that a built ``hg`` binary is only suitable for a specific, well-defined role. These roles are controlled by Cargo features (see above). Running ======= The ``hgcli`` crate produces an ``hg`` binary. You can run this binary via ``cargo run``:: $ cargo run --manifest-path hgcli/Cargo.toml Or directly:: $ target/debug/hg $ target/release/hg You can also run the test harness with this binary:: $ ./run-tests.py --with-hg ../rust/target/debug/hg .. note:: Integration with the test harness is still preliminary. Remember to ``cargo build`` after changes because the test harness doesn't yet automatically build Rust code.