Georges Racinet <georges.racinet@octobus.net> [Thu, 10 Jan 2019 18:25:18 +0100] rev 41694
rust-cpython: binding for headrevs()
This uses the core `dagops::retain_heads` to give a Rust implementation
to `mercurial.dagop.headrevs`.
Testing happens for now from `test-rust-ancestors.py`
(for quick and minimal change), but it'd made more sense to put the binary
index data elsewhere and to create a new test python module
Georges Racinet <georges.racinet@octobus.net> [Wed, 16 Jan 2019 16:05:27 +0100] rev 41693
rust-cpython: moved py_set() utility to conversion module
We're still hoping to get rid of it eventually, but we're going
to need it from outside the `ancestors` module before that.
Georges Racinet <gracinet@anybox.fr> [Sun, 02 Dec 2018 16:19:22 +0100] rev 41692
rust: translated random test of missingancestors
This is a Rust implementation of the random
DAG generator and related incrementalmissingancestors
tests against a naive brute force implementation.
It is provided as an integration test, so that it
won't run by default if any unit test fails.
In case of a failed example, all needed information
for reproduction is included in the panic message,
(this is how
`test_remove_ancestors_from_case1()` has been generated),
as well as the random seed.
The whole test is rerunnable by passing the random seed
in the TEST_RANDOM_SEED environment variable.
The other parameters (numbers of iterations) can be passed
in the TEST_MISSING_ANCESTORS environment variable.
An alternative would have been to expose to Python
MissingAncestors<VecGraphs> but that would have meant
pollution of the release build used from Python,
whereas we do it in this changeset within the tests submodule
Differential Revision: https://phab.mercurial-scm.org/D5417
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Feb 2019 13:46:38 -0800] rev 41691
debugpathcopies: fix typo in synopsis
Differential Revision: https://phab.mercurial-scm.org/D5949
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Feb 2019 13:42:42 -0800] rev 41690
debugrename: don't require at least one path
I don't see a reason that it needs to require a path. Most commands
match everything when no paths are given, but here you have to do
something like `hg debugrename -r . .` (from the repo root) to match
everything.
Differential Revision: https://phab.mercurial-scm.org/D5948
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 12 Feb 2019 11:27:27 -0800] rev 41689
revlog: use iterbytestr()
Otherwise we iterate over integers in Python 3 and the
character compare fails.
Differential Revision: https://phab.mercurial-scm.org/D5947
Martin von Zweigbergk <martinvonz@google.com> [Sun, 10 Feb 2019 22:41:51 -0800] rev 41688
commit: respect ui.relative-paths
The command usually doesn't print any paths, but there are some
warnings and verbose messages that includes paths.
Differential Revision: https://phab.mercurial-scm.org/D5939
Martin von Zweigbergk <martinvonz@google.com> [Sun, 10 Feb 2019 22:21:45 -0800] rev 41687
resolve: slightly simplify join expression by joining with empty strings
Differential Revision: https://phab.mercurial-scm.org/D5938
Martin von Zweigbergk <martinvonz@google.com> [Sun, 10 Feb 2019 22:18:19 -0800] rev 41686
resolve: respect ui.relative-paths also for warning messages
I guess this should have been part of 72a9aacff645 (resolve: respect
ui.relative-paths, 2019-01-29).
Differential Revision: https://phab.mercurial-scm.org/D5937
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Feb 2019 09:40:24 -0800] rev 41685
addremove: respect ui.relative-paths
I previously changed these code paths while trying to not change any
behavior to avoid inconsistencies between them in the intermediate
commits. They're now all ready to be switched over to respecting
ui.relative-paths.
Differential Revision: https://phab.mercurial-scm.org/D5936