Show More
@@ -16,7 +16,7 b' V2_FORMAT_MARKER = b"dirstate-v2\\n"' | |||
|
16 | 16 | |
|
17 | 17 | # Must match the constant of the same name in |
|
18 | 18 | # `rust/hg-core/src/dirstate_tree/on_disk.rs` |
|
19 |
TREE_METADATA_SIZE = 4 |
|
|
19 | TREE_METADATA_SIZE = 44 | |
|
20 | 20 | |
|
21 | 21 | # * 12 bytes: format marker |
|
22 | 22 | # * 32 bytes: node ID of the working directory's first parent |
@@ -49,13 +49,13 b' pub(super) type IgnorePatternsHash = [u8' | |||
|
49 | 49 | |
|
50 | 50 | /// Must match the constant of the same name in |
|
51 | 51 | /// `mercurial/dirstateutils/docket.py` |
|
52 |
const TREE_METADATA_SIZE: usize = 4 |
|
|
52 | const TREE_METADATA_SIZE: usize = 44; | |
|
53 | 53 | |
|
54 | 54 | /// Make sure that size-affecting changes are made knowingly |
|
55 | 55 | #[allow(unused)] |
|
56 | 56 | fn static_assert_size_of() { |
|
57 | let _ = std::mem::transmute::<DocketHeader, [u8; 121]>; | |
|
58 | 57 | let _ = std::mem::transmute::<TreeMetadata, [u8; TREE_METADATA_SIZE]>; |
|
58 | let _ = std::mem::transmute::<DocketHeader, [u8; TREE_METADATA_SIZE + 81]>; | |
|
59 | 59 | let _ = std::mem::transmute::<Node, [u8; 43]>; |
|
60 | 60 | } |
|
61 | 61 | |
@@ -90,6 +90,12 b' struct TreeMetadata {' | |||
|
90 | 90 | /// How many bytes of this data file are not used anymore |
|
91 | 91 | unreachable_bytes: Size, |
|
92 | 92 | |
|
93 | /// Current version always sets these bytes to zero when creating or | |
|
94 | /// updating a dirstate. Future versions could assign some bits to signal | |
|
95 | /// for example "the version that last wrote/updated this dirstate did so | |
|
96 | /// in such and such way that can be relied on by versions that know to." | |
|
97 | unused: [u8; 4], | |
|
98 | ||
|
93 | 99 | /// If non-zero, a hash of ignore files that were used for some previous |
|
94 | 100 | /// run of the `status` algorithm. |
|
95 | 101 | /// |
@@ -579,6 +585,7 b' pub(super) fn write(' | |||
|
579 | 585 | .nodes_with_copy_source_count |
|
580 | 586 | .into(), |
|
581 | 587 | unreachable_bytes: dirstate_map.unreachable_bytes.into(), |
|
588 | unused: [0; 4], | |
|
582 | 589 | ignore_patterns_hash: dirstate_map.ignore_patterns_hash, |
|
583 | 590 | }; |
|
584 | 591 | Ok((writer.out, meta.as_bytes().to_vec(), append)) |
General Comments 0
You need to be logged in to leave comments.
Login now