Wed, 13 Oct 2021 10:17:27 -0700 rhg: do not fail when the repo is empty
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 13 Oct 2021 10:17:27 -0700] rev 48199
rhg: do not fail when the repo is empty Differential Revision: https://phab.mercurial-scm.org/D11651
Tue, 12 Oct 2021 19:43:51 +0100 rhg: handle null changelog and manifest revisions
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 12 Oct 2021 19:43:51 +0100] rev 48198
rhg: handle null changelog and manifest revisions Differential Revision: https://phab.mercurial-scm.org/D11650
Tue, 12 Oct 2021 15:43:45 +0200 rust: update the rust-cpython crate to 0.7.0
Simon Sapin <simon.sapin@octobus.net> [Tue, 12 Oct 2021 15:43:45 +0200] rev 48197
rust: update the rust-cpython crate to 0.7.0 This notably brings support for Python 3.10, and includes the panic message when propagating a Rust panic as a Python exception. https://github.com/dgrunwald/rust-cpython/blob/master/CHANGELOG.md#070---2021-10-09 Differential Revision: https://phab.mercurial-scm.org/D11630
Sun, 03 Oct 2021 13:14:43 +0200 dirstate-v2: Name a constant in the Rust implementation
Simon Sapin <simon.sapin@octobus.net> [Sun, 03 Oct 2021 13:14:43 +0200] rev 48196
dirstate-v2: Name a constant in the Rust implementation We are about to introduce a Python version of this code that will also need this constant. Differential Revision: https://phab.mercurial-scm.org/D11547
Tue, 12 Oct 2021 17:57:57 +0200 dirstate-v2: Replace the 32-bit `mode` field with two bits
Simon Sapin <simon.sapin@octobus.net> [Tue, 12 Oct 2021 17:57:57 +0200] rev 48195
dirstate-v2: Replace the 32-bit `mode` field with two bits Previously we stored the entire value from `stat_result.st_mode`, like dirstate-v1 does. However only the executable permission and type of file (only symbolic links and normal files are supported) are relevant to Mecurial. So replace this field with two bits in the existing bitfield byte. For now the unused space is left as padding, as it will be used for something else soon. Differential Revision: https://phab.mercurial-scm.org/D11635
Mon, 11 Oct 2021 18:37:21 +0200 dirstate-v2: Store unsigned integers inside DirstateEntry
Simon Sapin <simon.sapin@octobus.net> [Mon, 11 Oct 2021 18:37:21 +0200] rev 48194
dirstate-v2: Store unsigned integers inside DirstateEntry The negative marker values are not used anymore. Differential Revision: https://phab.mercurial-scm.org/D11634
Tue, 12 Oct 2021 16:38:13 +0200 dirstate-v2: Truncate directory mtimes to 31 bits of seconds
Simon Sapin <simon.sapin@octobus.net> [Tue, 12 Oct 2021 16:38:13 +0200] rev 48193
dirstate-v2: Truncate directory mtimes to 31 bits of seconds … instead of 64 bits, while keeping the sub-second presision. This brings the size of one timestamp from 12 bytes to 8 bytes. 31 bits is chosen instead of 32 because that’s already what happens for the mtime of files and symlinks, because dirstate-v1 uses negative i32 values as markers. Later we’ll add sub-second precision for file/symlink mtimes, making their dirstate-v2 representation the same as for directories. Differential Revision: https://phab.mercurial-scm.org/D11633
Tue, 12 Oct 2021 16:20:05 +0200 dirstate-v2: Separate Rust structs for Timestamp and PackedTimestamp
Simon Sapin <simon.sapin@octobus.net> [Tue, 12 Oct 2021 16:20:05 +0200] rev 48192
dirstate-v2: Separate Rust structs for Timestamp and PackedTimestamp PackedTimestamp is now exclusively for dirstate-v2 serialization purpose. It contains unaligned big-endian integers. Timestamp is used everywhere else and contains native Rust integers. Differential Revision: https://phab.mercurial-scm.org/D11632
Mon, 11 Oct 2021 22:19:42 +0200 dirstate-v2: Change the representation of negative directory mtime
Simon Sapin <simon.sapin@octobus.net> [Mon, 11 Oct 2021 22:19:42 +0200] rev 48191
dirstate-v2: Change the representation of negative directory mtime Change it from how I previously thought C’s `timespec` works to how it actually works. The previous behavior was also buggy for timestamps strictly before the epoch but less than one second away from it, because two’s complement does not distinguish negative zero from positive zero. Differential Revision: https://phab.mercurial-scm.org/D11629
Tue, 12 Oct 2021 15:29:05 +0200 dirstate-v2: Only convert from SystemTime to Timestamp and not back
Simon Sapin <simon.sapin@octobus.net> [Tue, 12 Oct 2021 15:29:05 +0200] rev 48190
dirstate-v2: Only convert from SystemTime to Timestamp and not back Converting from Timestamp back to SystemTime was only used for equality comparison, but this can also be done on Timestamp values. Differential Revision: https://phab.mercurial-scm.org/D11631
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip