This is an archive of the discontinued Mercurial Phabricator instance.

dirstate-v2: Add storage space for nanoseconds precision in file mtimes

Authored by SimonSapin on Oct 13 2021, 11:39 AM.



For now the sub-second component is always set to zero for tracked files and
symlinks. (The mtime of directories for the readdir-skipping optimization
is a different code path and already uses the full precision available.)

This extra storage uses the space previously freed by replacing the 32-bit
mode field by two bits in the existing flags field, so the overall size
of nodes is unchanged. (This space had been left as padding for this purpose.)

Also move things around in the node layout and documentation to have less
duplication. Now that they have the same representation, directory mtime and
file mtime are kept in the same field. (Only either one can exist for a given

Diff Detail

rHG Mercurial
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.