Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 05:54:02 +0100] rev 46761
hg: make `clean` return consistent with the `update` function
The function return a boolean and is used as such. Lets be explicit about it.
Differential Revision: https://phab.mercurial-scm.org/D10156
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 16:28:46 +0100] rev 46760
tests: rename `test-pull` to `test-pull-network.t`
If is mostly about ssh and http interaction so lets avoid confusion with a
generic `hg pull` test
Differential Revision: https://phab.mercurial-scm.org/D10155
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 16:35:17 +0100] rev 46759
tests: move a test about update in test-pull-update.t
Differential Revision: https://phab.mercurial-scm.org/D10154
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Mar 2021 09:15:40 -0800] rev 46758
split: close transaction in the unlikely event of a conflict while rebasing
`hg split` *should* never result in conflicts, but in case there are
bugs, we should at least commit the transaction so they can continue
the rebase. One of our users ran into the regression fixed by
D10120. They fixed the conflict and the tried to continue the rebase,
but it failed with "abort: cannot continue inconsistent rebase"
because the rebase state referred to commits written in a transaction
that was never committed.
Side note: `hg split` should probably turn off copy tracing to reduce
the impact of such bugs, and to speed it up as well. Copies made in
the rebased commits should still be respected because `hg rebase`
calls `copies.graftcopies()`.
Differential Revision: https://phab.mercurial-scm.org/D10164
Raphaël Gomès <rgomes@octobus.net> [Mon, 15 Mar 2021 13:05:00 +0100] rev 46757
rust-status: fix
issue6456 for the Rust implementation also
This implementation is being used by a few people now, so we need it fixed, even
though a big rewrite will be coming quite soon.
Differential Revision: https://phab.mercurial-scm.org/D10217
Joerg Sonnenberger <joerg@bec.de> [Tue, 16 Mar 2021 00:07:12 +0100] rev 46756
README: document requirement for builtin zstd
Differential Revision: https://phab.mercurial-scm.org/D10226
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 21:04:51 +0100] rev 46755
ci: Add a job testing with rhg installed as `hg`
This significantly increases test coverage of rhg, without duplicating
many tests that already exist.
The `cargo build` command being remove only compiled a `rhg` executable
(as shown by the preceding `cd` command) but since a previous patch
`run-tests.py --rhg` now takes care of that.
Differential Revision: https://phab.mercurial-scm.org/D10196
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 13:54:46 +0100] rev 46754
run-test: install rhg if --rhg is passed
Before this, --rhg was only working with --local.
Differential Revision: https://phab.mercurial-scm.org/D10195
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 13:54:13 +0100] rev 46753
makefile: add a install option
This gives and easy way to install rhg that we can use in `run-test.py` in the
next changesets.
Differential Revision: https://phab.mercurial-scm.org/D10194
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 13:54:00 +0100] rev 46752
makefile: add a build-rhg option
This gives an easy action to build the rhg-binary. This will be useful for the
`install-rhg` action in the next changeset.
Differential Revision: https://phab.mercurial-scm.org/D10193
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 13:53:47 +0100] rev 46751
makefile: add a install-chg option
This is done as a gratuitous improvement on the way to add makefile entry to
build and install rhg.
It seems saner to have equivalent entry for chg too.
Differential Revision: https://phab.mercurial-scm.org/D10192
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 13:53:31 +0100] rev 46750
makefile: add a build-chg option
This is done as a gratuitous improvement on the way to add makefile entry to
build and install rhg.
It seems saner to have equivalent entry for chg too.
Differential Revision: https://phab.mercurial-scm.org/D10191
Simon Sapin <simon.sapin@octobus.net> [Fri, 12 Mar 2021 23:04:56 +0100] rev 46749
tests: Disable for rhg remaining tests that fail in that mode
These cases are in features not yet implemented by rhg
for which triggering a fallback is not practical.
Disabling some tests allows us to reach passing CI and catch
any future regression in the rest of the tests.
Differential Revision: https://phab.mercurial-scm.org/D10190
Simon Sapin <simon.sapin@octobus.net> [Fri, 12 Mar 2021 21:44:07 +0100] rev 46748
rhg: Remove `rhg.fallback-executable=hg` default configuration
When `rhg.on-unsupported` is configured to `fallback` and an unsupported
feature is encountered, the previous default was to look for an `hg`
executable in `$PATH`.
This default was fragile since it was easy to end up accidentally using
an older version of Mercurial installed system-wide,
when a local (perhaps patched) installation was intended.
Instead, it is now an error to have `rhg.on-unsupported=fallback`
without also configuring an explicit path or the fallback executable.
Differential Revision: https://phab.mercurial-scm.org/D10189
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Mar 2021 09:17:24 +0100] rev 46747
rhg: Return an error code for `rhg config Section.idontexist`
This is what Python-based hg does.
Differential Revision: https://phab.mercurial-scm.org/D10145
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 20:04:20 +0100] rev 46746
rhg: Fall back to Python for --version
Clap has some built-in support for printing something on --version,
but it looks different than what Pytho-based hg does.
Also, at the moment we’re not giving version numbers to rhg
separate from the Mercurial version.
Differential Revision: https://phab.mercurial-scm.org/D10144
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 19:25:33 +0100] rev 46745
rhg: Exit with an error code if `files` finds nothing
This matches the behavior of Python-based hg.
Differential Revision: https://phab.mercurial-scm.org/D10143
Simon Sapin <simon.sapin@octobus.net> [Wed, 03 Mar 2021 16:40:03 +0100] rev 46744
rhg: `cat` command: print error messages for missing files
And exit with an error code if no file was matched.
This matches the behavior of Python-based hg.
Differential Revision: https://phab.mercurial-scm.org/D10142
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 19:07:29 +0100] rev 46743
rhg: Silently ignore missing files in config %include
… instead of aborting with an error message.
This is what Python-based hg does.
Differential Revision: https://phab.mercurial-scm.org/D10141
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 15:35:32 +0100] rev 46742
rhg: Add support for environment variables in config include paths
Some tests rely on this.
Differential Revision: https://phab.mercurial-scm.org/D10140
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 08:55:48 +0100] rev 46741
rhg: Add support for the HGRCSKIPREPO environment variable
It’s easy enough and affects tests, well, that test that feature.
Differential Revision: https://phab.mercurial-scm.org/D10139
Simon Sapin <simon.sapin@octobus.net> [Mon, 08 Mar 2021 08:35:43 +0100] rev 46740
rhg: Don’t make repository path absolute too early
Some error messages want to include a relative path,
which affects the output of some tests.
Differential Revision: https://phab.mercurial-scm.org/D10138
Simon Sapin <simon.sapin@octobus.net> [Fri, 05 Mar 2021 13:28:49 +0100] rev 46739
rhg: Fall back to Python if ui.relative-paths is configured
This feature is not supported yet, and affects the output of some tests.
Differential Revision: https://phab.mercurial-scm.org/D10137
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 08 Mar 2021 17:32:22 +0100] rev 46738
tests: clarify some missing output in test-merge-subrepos
This makes the test behavior clearer, especially, why the output are
inconsistent.
Differential Revision: https://phab.mercurial-scm.org/D10136
Simon Sapin <simon.sapin@octobus.net> [Fri, 05 Mar 2021 11:39:21 +0100] rev 46737
tests: Adapt expected output for minor differences with rhg
Differential Revision: https://phab.mercurial-scm.org/D10135
Simon Sapin <simon.sapin@octobus.net> [Fri, 05 Mar 2021 11:21:15 +0100] rev 46736
rhg: Add support for --cwd
This affect the meaning of relative paths in `--repository`,
which are resolved "early" by rhg in order to load config
which is needed before fallback to Python is considered.
An incorrect path could cause errors when loading a non-existent repo,
leading to failing tests even when fallback is enabled.
Differential Revision: https://phab.mercurial-scm.org/D10134
Simon Sapin <simon.sapin@octobus.net> [Thu, 04 Mar 2021 13:30:20 +0100] rev 46735
rhg: Align with Python on some more error messages
Differences can cause some tests to fail
Differential Revision: https://phab.mercurial-scm.org/D10133
Simon Sapin <simon.sapin@octobus.net> [Fri, 12 Mar 2021 22:38:40 +0100] rev 46734
rhg: Add an allow-list of ignored extensions
Because rhg doesn’t know how a Python extension would affect
behavior it implements in Rust, when an unsupported extension
is enabled it conservatively falls back to Python-based hg.
However many users will have unsupported extensions enabled in practice.
Maybe they don’t actually affect rhg behavior, but we don’t know.
This adds a `rhg.ignored-extensions` configuration that lets
users list extensions that rhg can safely ignore and proceed even
if they’re not supported in Rust.
Differential Revision: https://phab.mercurial-scm.org/D10188