tests: demonstrate how conflict markers end up $local *and* $output
When a merge tool is configured to keep conflict markers, they are
supposed to be written to `$local` if `$output` is not mentioned in
the tool's `merge-tools.<tool>.args` config, and in `$output` if it is
mentioned. However, I broke the latter case in D12190.
Differential Revision: https://phab.mercurial-scm.org/D12378
revlog: fix wrong type of rank_unknown variable
We treat "rank" as an int everywhere, but declare rank_unknown as a
char. On architectures where char is signed, that works out ok, but
when char is unsigned, rank_unknown is 255 instead of -1.
Differential Revision: https://phab.mercurial-scm.org/D12374
tests: fix formatting issue in run-tests.py after
c194e93d1ebc
Differential Revision: https://phab.mercurial-scm.org/D12375
rust-hg-core: use correct type for libc hostname buffer
The type of libc::c_char is u8 on aarch64 rather than i8, which causes
the use of a specifically-typed constant to fail.
Differential Revision: https://phab.mercurial-scm.org/D12373
import-checker: allow symbol imports from typing module
As we add typing annotations, we'll want to use a lot of symbols from
the `typing` module. Typing `typing` all the time will be annoying. Let's
allow symbol imports from this module.
While I was here, I changed some comments from "whitelist" to "allow list"
as the former is non-inclusive terminology.
Differential Revision: https://phab.mercurial-scm.org/D12365
pycompat: remove json.loads polyfill for Python 3.5
We no longer support Python 3.5 so this can be deleted.
Differential Revision: https://phab.mercurial-scm.org/D12364