Antoine Cezar <antoine.cezar@octobus.net> [Fri, 05 Jun 2020 10:28:58 +0200] rev 44981
rhg: add rhg crate
The goal of rhg is to speedup some of hg's commands when possible by bypassing
python entirely for the time being.
It is by no means a replacement for hg as it will not support extentions or
configuration and implement only a subset of hg's commands and options.
Only use rhg if you understand what the tradeoffs are.
Differential Revision: https://phab.mercurial-scm.org/D8610
Antoine Cezar <antoine.cezar@octobus.net> [Fri, 05 Jun 2020 08:48:09 +0200] rev 44980
hg-core: add FindRoot operation to find repository root path
Differential Revision: https://phab.mercurial-scm.org/D8609
Joerg Sonnenberger <joerg@bec.de> [Tue, 23 Jun 2020 16:07:18 +0200] rev 44979
share: provide a more useful text for hg help
Differential Revision: https://phab.mercurial-scm.org/D8651
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Jun 2020 00:06:23 -0700] rev 44978
procutil: make recent fix for zombies compatible with py2
The fix in
ed684a82e29b (procutil: always waiting on child processes
to prevent zombies with 'hg serve', 2020-05-07) works only on Python 3
because it passes a `daemon` argument to `threading.Thread()`. Python
2 requires you to assign to the `.daemon` property instead. Python 3
also seems to support that, so this patch fixes the code by
unconditionally using the old form.
Differential Revision: https://phab.mercurial-scm.org/D8657
Manuel Jacob <me@manueljacob.de> [Wed, 24 Jun 2020 04:25:34 +0200] rev 44977
pycompat: fix crash when default locale is unknown
Instead, fall back to the filesystem encoding if the default locale is unknown.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 22 Jun 2020 22:15:57 -0700] rev 44976
help: document meaning of '%' in graphlog output
I added the feature in
14d0e89520a2 (graphlog: use '%' for other
context in merge conflict, 2020-01-28), but I didn't think to look for
documentation until today (because an internal user asked about it).
Differential Revision: https://phab.mercurial-scm.org/D8649
Kyle Lippincott <spectral@google.com> [Wed, 17 Jun 2020 16:11:11 -0700] rev 44975
py3: fix broken man page generation, it was generating `(default: NUL*)`
`bytes(default)` was producing things like `(default: \x00)` when handed
non-bytes values such as `1`, `10`, or `True`. The man page generation would
apparently ignore these bytes and produce man pages that had the string
`(default: )`.
Test Plan:
- Ran `cd doc; python3 gendoc.py "hg.1.gendoc"` and grepped for bad output
- Ran `make deb`, extracted the deb, manually inspected `hg.1` file.
Differential Revision: https://phab.mercurial-scm.org/D8639
Antoine Cezar <antoine.cezar@octobus.net> [Fri, 05 Jun 2020 08:46:35 +0200] rev 44974
hg-core: add Operation interface for high-level hg operations
A distinction is made between operations and commands.
An operation is a high-level function of mercurial whereas a command is what is exposed by the cli.
A single command can use several operations to achieve its goal.
Differential Revision: https://phab.mercurial-scm.org/D8608
Raphaël Gomès <rgomes@octobus.net> [Mon, 15 Jun 2020 18:26:40 +0200] rev 44973
rust: do a clippy pass
This is the result of running `cargo clippy` on hg-core/hg-cpython and fixing
the lints that do not require too much code churn (and would warrant a separate
commit/complete refactor) and only come from our code (a lot of warnings in
hg-cpython come from `rust-cpython`).
Most of those were good lints, two of them was the linter not being smart
enough (or compiler to get up to `clippy`'s level depending on how you see it).
Maybe in the future we could have `clippy` be part of the CI.
Differential Revision: https://phab.mercurial-scm.org/D8635
Manuel Jacob <me@manueljacob.de> [Tue, 16 Jun 2020 14:38:50 +0200] rev 44972
py3: fix comparison between int and None
If stop is None, the condition was always false on Python 2, as None compares
smaller than ints. Therefore we make the condition false if stop is None.