##// END OF EJS Templates
rust: upgrade supported Rust toolchain version...
rust: upgrade supported Rust toolchain version A few months ago¹, a decision was made to move the Rust toolchain target to whatever Debian Testing was tracking. I didn't have the bandwidth to act on it until now. This is starting to be even more problematic than before, now that edition 2021 is out. The CI has been updated to track the current Debian testing version, 1.61.0. [1] https://lists.mercurial-scm.org/pipermail/mercurial-packaging/2022-April/000338.html

File last commit:

r50461:b1c20e41 stable
r50523:eb383f09 default
Show More
README.md
51 lines | 1.7 KiB | text/x-minidsrc | MarkdownLexer
Simon Sapin
rhg: Add build and config instructions to the README file...
r48583 # `rhg`
The `rhg` executable implements a subset of the functionnality of `hg`
using only Rust, to avoid the startup cost of a Python interpreter.
This subset is initially small but grows over time as `rhg` is improved.
When fallback to the Python implementation is configured (see below),
`rhg` aims to be a drop-in replacement for `hg` that should behave the same,
except that some commands run faster.
## Building
To compile `rhg`, either run `cargo build --release` from this `rust/rhg/`
directory, or run `make build-rhg` from the repository root.
The executable can then be found at `rust/target/release/rhg`.
## Mercurial configuration
`rhg` reads Mercurial configuration from the usual sources:
the user’s `~/.hgrc`, a repository’s `.hg/hgrc`, command line `--config`, etc.
Raphaël Gomès
rhg: add `config.rhg` helptext...
r50461 It has some specific configuration in the `[rhg]` section.
Simon Sapin
rhg: Add build and config instructions to the README file...
r48583
Raphaël Gomès
rhg: add `config.rhg` helptext...
r50461 See `hg help config.rhg` for details.
Simon Sapin
rhg: Add build and config instructions to the README file...
r48583
## Installation and configuration example
For example, to install `rhg` as `hg` for the current user with fallback to
the system-wide install of Mercurial, and allow it to run even though the
`rebase` and `absorb` extensions are enabled, on a Unix-like platform:
* Build `rhg` (see above)
* Make sure the `~/.local/bin` exists and is in `$PATH`
* From the repository root, make a symbolic link with
`ln -s rust/target/release/rhg ~/.local/bin/hg`
* Configure `~/.hgrc` with:
```
[rhg]
on-unsupported = fallback
fallback-executable = /usr/bin/hg
allowed-extensions = rebase, absorb
```
* Check that the output of running
`hg notarealsubcommand`
starts with `hg: unknown command`, which indicates fallback.
* Check that the output of running
`hg notarealsubcommand --config rhg.on-unsupported=abort`
starts with `unsupported feature:`.