pycompat: remove pycompat.{stdin,stdout,stderr}
All users have been changed to use procutil.{stdin,stdout,stderr}, which provide
consistent behavior across platforms and Python versions.
pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std*
On Python 3, pycompat.{stdin,stdout,stderr} are usually block-buffered even if
connected to a TTY. procutil.{stdin,stdout,stderr} provide consistent behavior
across platforms and Python versions.
hgignore: add mypy cache files
Differential Revision: https://phab.mercurial-scm.org/D8692
revlog: avoid hard-coded hash sizes
Differential Revision: https://phab.mercurial-scm.org/D8683
test: restore expected output in test-persistent-nodemap.t
The merge
78cafd48b9b2 had a small error and wrongly dropped the output updated
from one side of the merge.
This changeset re-install it.
Differential Revision: https://phab.mercurial-scm.org/D8678
heptapod-ci: build rhg before tests run
Differential Revision: https://phab.mercurial-scm.org/D8682
rhg: add a limited `rhg root` subcommand
Clap has been choosen for argument parsing for the following reasons:
- it's a wildly used and maintained crate
- it can deal with OS encoding making it suitable for any encoding
- it supports nonambiguous prefix matching as already available in hg
- it will soon allow for structopts-style declarative pattern instead of the
currently used builder pattern
Differential Revision: https://phab.mercurial-scm.org/D8613
rhg: add RootCommand using hg-core FindRoot operation to prepare `hg root`
The println macro is not used to avoid string usage.
Dealing only with bytes allows us to be compatible with any encoding
and not just UTF8.
Later on, format macro will be made to have more readable code.
Differential Revision: https://phab.mercurial-scm.org/D8612