py3: fix sorting of obsolete markers during push
This fixes similar errors as in
01e8eefd9434:
TypeError: '<' not supported between instances of 'NoneType' and 'tuple'
exchange: extract a function to sort obsolete markers
Follows up on changeset
01e8eefd9434, several other occurrences of
sorted() need to be fixed. The _sortedmarkers() handles sorting
obsmarkers with a None value as last element on Python 3.
convert: convert os.devnull to bytes before trying to join it with other bytes
Together with the previous commit relating to emailparser this gets
test-convert-tla.t passing under py3.
Differential Revision: https://phab.mercurial-scm.org/D7062
rust-dirstate-status: add call to rust-fast path for `dirstate.status`
The reasoning behind this patch is explained in the first patch of the series.
Differential Revision: https://phab.mercurial-scm.org/D7060
rust-dirstate-status: rust-cpython bindings for `dirstate.status`
The ref-sharing mechanism has improved, but its ergonomics still left a bit
to be desired, as expected.
Differential Revision: https://phab.mercurial-scm.org/D7059
rust-refsharing: add missing lifetime parameter in ref_sharing
Differential Revision: https://phab.mercurial-scm.org/D7110