diff --git a/mercurial/helptext/internals/dirstate-v2.txt b/mercurial/helptext/internals/dirstate-v2.txt index 77fc340acad73a3d0d21094f5f8920a942a1c596_bWVyY3VyaWFsL2hlbHB0ZXh0L2ludGVybmFscy9kaXJzdGF0ZS12Mi50eHQ=..6e01bcd111d26c4c131315888adc9d87b45a4fe4_bWVyY3VyaWFsL2hlbHB0ZXh0L2ludGVybmFscy9kaXJzdGF0ZS12Mi50eHQ= 100644 --- a/mercurial/helptext/internals/dirstate-v2.txt +++ b/mercurial/helptext/internals/dirstate-v2.txt @@ -424,10 +424,9 @@ Only the `S_IXUSR` bit (owner has execute permission) is considered. * Offset 35: - If `HAS_MTIME` is unset, four zero bytes. - Otherwise, a 32-bit integer for expected modified time of the file - (as in `stat_result.st_mtime`), + If `HAS_MODE_AND_SIZE` is unset, four zero bytes. + Otherwise, a 32-bit integer for expected size of the file truncated to its 31 least-significant bits. Unlike in dirstate-v1, negative values are not used. * Offset 39: @@ -430,9 +429,10 @@ truncated to its 31 least-significant bits. Unlike in dirstate-v1, negative values are not used. * Offset 39: - If `HAS_MODE_AND_SIZE` is unset, four zero bytes. - Otherwise, a 32-bit integer for expected size of the file + If `HAS_MTIME` is unset, four zero bytes. + Otherwise, a 32-bit integer for expected modified time of the file + (as in `stat_result.st_mtime`), truncated to its 31 least-significant bits. Unlike in dirstate-v1, negative values are not used. diff --git a/rust/hg-core/src/dirstate_tree/on_disk.rs b/rust/hg-core/src/dirstate_tree/on_disk.rs index 77fc340acad73a3d0d21094f5f8920a942a1c596_cnVzdC9oZy1jb3JlL3NyYy9kaXJzdGF0ZV90cmVlL29uX2Rpc2sucnM=..6e01bcd111d26c4c131315888adc9d87b45a4fe4_cnVzdC9oZy1jb3JlL3NyYy9kaXJzdGF0ZV90cmVlL29uX2Rpc2sucnM= 100644 --- a/rust/hg-core/src/dirstate_tree/on_disk.rs +++ b/rust/hg-core/src/dirstate_tree/on_disk.rs @@ -114,4 +114,5 @@ #[repr(C)] struct Entry { mode: I32Be, + size: I32Be, mtime: I32Be, @@ -117,5 +118,4 @@ mtime: I32Be, - size: I32Be, } /// Duration since the Unix epoch